I want to maintain multiple versions of an application ,so that EMM admin has a control where he can silently push different version to different devices using android management api.
Google play doesn't allow to maintain multiple versions of an application.
It depends what you mean and what you want for different versions. There are a bunch of important questions:
If the answer to both of the above is yes, then you will need to use different package names for the versions. If the answer is no, then Google Play lets you have different versions using test channels.
But in general you are right. Google Play requires all users of an app to get the latest version.