What is the best way to create a "do not disturb" period in which certain scripts should not run

Create a Template Binary Sensor that reports on during the hours when you wish to receive notifications and off during quiet hours. Let’s say it’s called binary_sensor.awake.

All of your automations can use a condition to check the state of binary_sensor.awake to determine if they should, or should not, send a notification.


EDIT

Here’s a simple example that reports on when the current hour is between 07:00 and 23:00, inclusively.

# binary_sensor:
- platform: template
  sensors:
    awake:
      friendly_name: 'Awake'
      value_template: "{{ 7 <= now().hour <= 23 }}"

You can make that fancier by creating two input_datetime entities, one to represent start time and the other for the end time. The template would use the two input_datetime entities to determine the time range as opposed to hard-coded values.