The problem is the circular reference. Each table’s security filter references the other table. That won’t work because one table’s rows must be fetched first in order to be referenced in another table’s security filter. For multi-tenant user management, here’s a post that references a pretty elegant technique outlined by @Jonathon as well as a more novice approach that I had separately described.
The Security Filters between the two tables are circular - The Client table Security Filter relies on the User table to lookup the user and the User table relies on the Client table. Security Filters cannot have this potential back and forth relationship.
You should record the Client (or Clients if there can be more than one) on the User record when the user is added. Then you can adjust the Security Filters like this
User Table:
[Email] = USEREMAIL() -- assumes you have only a single row for each USEREMAIL()
Client Table:
IN([Client ID], User[Clients]) -- if you allow user to belong to more than one Client
OR
[Client ID] = ANY(User[Client]) -- if only a single Client, because there is expected to be only a single User row for USEREMAIL() this works fine