Your partner state is irrelevant in any case. It is solely about the Edition your customer is using.
Your customer does not need an additional user license for you to access the instance. Odoo.sh allows you to 'log-in as' (... as any user in the database). You just need a GitHub-account. Your customer may need to invite you to their Odoo.sh instance, depending on who initiates the subscription with Odoo.
Odoo Online:
You will most likely need a username and a password for an admin account. This, similar to Odoo.sh, does not need to be an account dedicated to you. It just needs to be an account with sufficient privileges.
Odoo on-premise:
Basically like any of the above - you need to have credentials to login to the database.
Applicable to all of the above (depending on the possibilities of the editions):
If you're providing development/customization for your customer you will need to have access to the repository. If it's yours its fine. If it's your customers they will need to invite you. (Odoo.sh only)
If you're providing configuration you'll need access to an user with admin privileges. This can be a dedicated account just for you, but it can be one from the customer as well. Only difference is the traceability of who did the change.
If you're just providing consultation you may not even need access to the database. If you do, above will apply.
As stated above, basically the only time your customer needs a dedicated user just for you is when you (or they) want to track who performed a particular create/write action (or anything that is tracked per user). With Odoo.sh you may also refer to the Audit Logs to see when a user did log in (allowing you to track who might have performed a change).