One reason is API change. For closed source solution they do not have to worry about API changes but open Android has to have much more elaborate API deprecation and change process.
This is incorrect for multiple reasons. The two big ones off the top of my head:
1. They could release source and provide no guarantee of supporting API backwards-compatibility, exactly as they do today, only with the source available publicly.
2. They already deal with API deprecation. Owning the client doesn't get it to every device instantly. Even logic pushed into Google Play Services requires a (sometimes lengthy) rollout and relies on customers to approve the install.
To be clear, the discussion isn't about whether Google should pull things out of AOSP and put them into Play Services. The discussion is about whether Google can open the source for those components. So long as Google owns the copyright, the answer is a clear yes.
Nothing about open source requires that they in any way stabilize their web-side APIs, the process they would follow could be the same as their binary releases, just with open source code released at the same time.
In theory that's true, but in practice, not so much. Even if they told people to not use those APIs, that they're not stable, people would still use them, based on the open source they saw. And then they would change, and people would be mad.
This is assuming that Google wants people to see and be able to use these APIs in the first place.