I don't believe there is much to say. Whenever I PATCH or UPDATE the "whoCanPostMessage" setting from "ALL_MEMBERS_CAN_POST" to "ALL_MANAGERS_CAN_POST" the Google API backend just ignores it.
This issue is present from 06-06-2016.
The behaviour you noted is a side effect of a known issue, whereby setting messageModerationLevel to MODERATE_ALL_MESSAGES, causes whoCanPostMessage to be changed to ALL_MEMBERS_CAN_POST, as viewed via the Groups Settings API. The Groups UI still sees the correct setting.
Unfortunately, once modified, whoCanPostMessage can't be changed by subsequent PUT requests. The issue is being addressed by Google engineers, and can be reproduced via the following steps:
'Owners of the group',
'Managers of the group'
"messageModerationLevel": "MODERATE_NONE",
"whoCanPostMessage": "ALL_MANAGERS_CAN_POST"
"messageModerationLevel": "MODERATE_ALL_MESSAGES",
"whoCanPostMessage": "ALL_MANAGERS_CAN_POST"
"messageModerationLevel": "MODERATE_ALL_MESSAGES",
"whoCanPostMessage": "ALL_MEMBERS_CAN_POST",
'Owners of the group',
'Managers of the group'.
To avoid this issue, I'd recommend NOT setting messageModerationLevel to MODERATE_ALL_MESSAGES, when only managers can post to the group, as they are the ones who would approve posts anyway.