User Registration Disable Email Verification The issue is for non admins to only view a particular part of the user section. The current password and email address fields need to be hidden. I've tried the field permissions but that doesnt give an option.  

Writing the hook makes sense to hide both the fields but the validation is what I'm having issues with. If I add optional mail or the mail control modules, I'm thinking its going to throw a few other things off.
You need to do a lot more than just unsetting the field if you want to change the way registration works. Out of the box, Drupal expects a valid email unique address for every user. This is why there are contributed modules for this purpose: it needs a fair amount of code to achieve.

Take a look at https://www.drupal.org/project/optional_mail for example.