Hi @Ferdinand_TW ,
You should not compare settings to an Administrative access. Administrators have all access over the platform, hence they do not need explicit permissions to run/view anything.
Based on your details, I would say you must explicitly need to grant Runtime Permissions to the "non-administrative" UserGroup you mentioned, to be able to execute services like "GetEffectiveMenu" on "LabMenu".
However I'm not sure whether you use a Service to execute it, or you directly added the Services to a mashup.
So here are some steps that I'd suggest:
- If you have a Helper Thing which executes the GetEffectiveMenu service on a specific menu (LabMenu), you must grant Execute Runtime permission to the "System" user on the LabMenu, becuase it is wrapped service, and Execute runtime permission to the UserGroup on the Helper Thing.
just an example: 
- If you have the LabMenu added as data service (direct service call) in a mashup, you must explicitly need to grant Execute runtime permission to the UserGroup you mentioned on that specific menu (and all the rest if needed)
If the specific users have Visibility over the entities, and only runtime errors are occured, then you need to grant execute runtime permissions on all the required Entities for the usergroups explicity. (or if wrapped, then only to the helper thing, and "System" user access to the subsequent 'wrapped' services)
Here you can find more details about the System user.
PTC.Support - System User (Wrapped Service Usage)
Hope the above helps solving your case.
Regards,
Adam