Two mqtt events at exactly the same time

I am broadcasting my calendar to a speaker. It works fine until when I have two schedules sending out at exactly the same time. The broadcasting is triggered by the state change of the mqtt sensor. If two events happen at the same time, the broadcasting will be triggered correctly twice, but the content of the mqtt message will be always just the same (randomly one of the two messages). How can I save the two messages when they come at the same time.

My script yaml for the broadcasting:

broadcast_calendar_events:
  - service: tts.google_say
    entity_id: media_player.dining_room
    data_template:
      message: 'Broadcasting event: {{ states(''sensor.calendar'')
        }}'
    data:
      entity_id: media_player.dining_room

Here is the automation part:

- id:           'XXXX'
  alias:        Announce Calendar Events
  description:  Announce Calendar Events
  mode:         queued
  max:          30
  trigger:
          - platform:   state
            entity_id:  sensor.calendar
  action:
          - service:    script.broadcast_calendar_events