I have noticed this behaviour recently, and I think I have an answer (which I believe would be an easy fix for you, Ross)
gam create cigroup $groupemail name $groupname description $groupdescription allowexternalmembers false archiveonly true gal off whocanadd none_can_add whocanjoin invited_can_join whocanleavegroup none_can_leave whocanpostmessage none_can_post whocanviewgroup all_owners_can_view whocanviewmembership all_owners_can_view whocandiscovergroup all_members_can_discover whocancontactowner all_managers_can_contact whocanmoderatemembers none
This does not set the name of the group (it defaults the group email address).
When looking at it using debug_level 1, I see that it makes 2 API calls.
First call includes the correct group name (Cloud Identity Groups API)
b'{"groupKey": {"id": "Group Email"}, "parent": "customers/customer_id", "labels": {"
cloudidentity.googleapis.com/groups.discussion_forum": ""}, "displayName": "Group Name", "description": "Group Description"}'
Second API call includes group email in the name field (Groups Settings API)
b'{"allowExternalMembers": "false", "archiveOnly": "true", "includeInGlobalAddressList": "false", "whoCanAdd": "NONE_CAN_ADD", "whoCanJoin": "INVITED_CAN_JOIN", "whoCanLeaveGroup": "NONE_CAN_LEAVE", "whoCanPostMessage": "NONE_CAN_POST", "whoCanViewGroup": "ALL_OWNERS_CAN_VIEW", "whoCanViewMembership": "ALL_OWNERS_CAN_VIEW", "whoCanDiscoverGroup": "ALL_MEMBERS_CAN_DISCOVER", "whoCanContactOwner": "ALL_MANAGERS_CAN_CONTACT", "whoCanModerateMembers": "NONE", "name": "Group Email"}'