Actually I am not sure how you connect, by which User.
You do not connect to core service with that piece of code you pasted. You connect to core service by providing Username and Password during the instantiation of the client.
Once you are connected, you can Impersonate to another user (in this case you are trying to Impersonate to MTSUser) where System is saying to you that you cannot do so because your user (which you used initially to connect to core service) has no Impersonation Rights.
If you want to allow certain users to be able to impersonate into ANY user, you can do so in Tridion MMC snapin Console, but be vary, this is realy big security risk!