Non-administrators unable to tag contacts using Tags tab
I suspect this is because acl permissions is not consistently applied across all aspects of civicrm. In this case the API permission check is a lot more granular.

At this point, I suspect your options are to either live with the status quo and/or (ask your developer if you have one to) take a look at the code to see if you can improve the API to make the permission checking incorporate ACL's also. You can look at the code on the main contact edit page (CRM/Contact/Form/Contact.php) to see how this is done.

You could also consider using the Paid issue queue service offered by the core team if your org has the funding to do so.