Need help creating a string for text-to-speech based on entity states

The Jinja2 template will be something like this:

{% set textToSay = '' %}
{% if is_state('cover.garage_door', 'open') %}
  {% set textToSay = textToSay ~ 'Close the garage door. ' %}
{% endif %}
{% if is_state('binary_sensor.back_door', 'on') %}
  {% set textToSay = textToSay ~ 'Close the back door. ' %}
{% endif %}
{{ textToSay if textToSay | length > 0 else 'All clear.' }}

If you have many doors, there is a way to simply way to list all open doors within a single sentence.

The only added complexity for your application is that one of the doors is a cover as opposed to a binary_sensor.