what is '#access' => $admin in this code
#access property in Form API is to set whether the element should be visible to the user or not. 
If its value is TRUE, the element will not be displayed (not hidden element - #required will not be enforced). 
From Form API doc:


  Whether the element is accessible or not; when FALSE, the element is
  not rendered and the user submitted value is not taken into
  consideration.


$admin should be a variable you have forgotten to add/take from where you took the code. 

Here is my suggestion to populate $admin variable. At top of the form function, populate $admin:

$admin = user_access('administer site configuration');


user_access function returns (bool) TRUE of the user has the given permission (or FALSE if the current user doesn't). administer site configuration is a general permission that will be usually given to administrators. 
You can use whatever permission as appropriate for this.