Attempt at Source/Gmod tips 101 - Some you may already know, some you seem to think you know, some you do not.
Teams and access groups are two totally different things in Source.
ULib is a program library.
ULX uses ULib to control server commands (kick/ban/slay, etc) through group access. Group names typically are "superadmin", "admin" and "user"
UTeam uses ULib to tie team names in to group names.
You can use ULX to create custom groups. (addgroup)
You then use ULX commands (groupallow) to grant those custom groups the access you want.
Once you have all your groups set up, you can then edit UTeam.txt to the top to bottom level groups with any name team you want. Groups in UTeam must match ULX however.
I recommend you read the UTeam forum thread, many questions answered there.
See also our FAQs section regarding user list, allows and denies.
Some of the FAQs are slightly out dated if you are using SVN, but should still give plenty of example.
For someone to have "Head admin" team name according to your UTeam.txt example posted, you'd have to use ulx adduser to add them to the admin group.