Hide the option of Payment method "No Payment Required" based on user role
In Drupal Commerce each payment method is essentially a rule. So just like with any rule, you'll need to add your required condition to that payment method rule.

Find Payment Method Configuration page - admin/commerce/config/payment-methods. 

You'll see payment method "No Payment Required (Payment)" in the list of "Enabled payment method rules" (if it is enabled). If not enabled - enable that payment method.

Then click Edit next to that rule, and add condition "User has roles". Select the role "Customer", save, test and you're done.