Thanks for the quick reply. I might be wrong, but I think the reason why this is happening is because theme requires you to have a certain capabilities which is different to the capabilities of being able to see the appearance menu.
There does not exist in WordPress a way of saying editors can only see this, Admins can only see that. Its done through capabilities, and each plugin does it in a slightly different way. You could however use CSS to hide menus based on the user role, but that would require them being visible in the first place.
A possibility is to create a new user role which is the same as a admin, but would allow you to say anyone with the "client-admin" user role, can't see x and y.
We will have to look into this further though and we are just bouncing around ideas here.