Ok, I will answer myself.
The way to do this is with continue, continue will permit firing to more than one receiver. I had mistakenly thought that continue would simply continue without firing at first match. Alertmanager is deceptively powerful. The only missing piece is a piece of UI to manage the list of pager numbers for on-call rotation that can now be defined in the alertmanager (offhoursgroup).
# Select receiver based on time of day
- match:
severity: 5
receiver:
daygroup
mute_time_interval: offhours
continue
- match:
severity: 5
receiver: offhoursgroup
mute_time_interval: workhours
Then I just need to manage/automate who is in the offhoursgroup based on the rotation schedule.
This would work for my purposes.