We are using the automatic notification policies (contracts expiring within 30 days) to send maturity reminders for loaded contracts.
We did not find documentation that clarifies the scheduling behavior. If we use the notification to send every 7 days, for example, for a contract expiring in 30 days the notification will be sent after 7 days (from today) instead of using the contract expiration date.
The scheduling of our automation policies is quite simple and the documentation that talks about this is found at:
Creating or Modifying Scheduled Automation Policies
The schedule (Trigger) can be set at a specific Date/Time or on a Share Schedule. You are able to specify when the notification (in your case an email) will begin and you too can identify if there is a Repeat schedule.
The schedule trigger runs on the schedule you define to let you know the Contracts that will be expiring in the the next 30 days.