How do I create a role-specific registration page?
I suggest you to try the Multiple Registration module (https://www.drupal.org/project/multiple_registration), since this is precisely what it does "adds ability to create role-specific registration pages."

And as for the need to add the "admin approval" functionality, too, for specific user roles on your site, I would recommend you the Registration Role with Approval module (https://www.drupal.org/project/registration_role_with_approval)

Also, see if you will find this post of any help: https://www.optasy.com/blog/how-create-role-specific-user-registration-forms-drupal

Good luck!