I’m going under the assumption that each category would different types of data in each one. Otherwise I would recommend joining everything into one sheet.
I would first create duplicates of each sheet and use a formula to populate each one from it’s respective primary sheet. Using those duplicated sheets, I would create a tab for each one. These tabs would be set to view only. I assume you would want everybody to view the data on each tab.
Next I would create a Profile Tab in the menu. This tab could point to a placeholder sheet with an unused column heading. Then place a button for each category and use Link to Screen to link to each Primary category sheet. (Alternately, you could create an inline list to each category and filter on per user data. I think lists will only show if there are matching items, but I think it might show ‘no items’ as a placeholder.) Here you can turn on Per User Data and and Editing to allow the logged in user to make changes to only their own record.
Next create a Admin sheet with the Names and Emails of Admins. Also add a column and fill it with ‘Admin’ on each of the rows. Next on each category sheet, create a column and also fill it with Admin. You could use the Template column in the data editor to do this. Create an Admin tab in the menu. This admin tab will point to the Admin sheet. You can use Per User Data here if you want each Admin to only edit their own record. in the Details for each Admin, you could create a List Relation for each category that uses a relation you create on the Admin sheet to the Admin column on each Category sheet. This will provide access for the Admin to edit all records.
If I’m thinking correctly, this should allow for all the situations you are looking for.