The RandomizedDelaySec parameter delays the timer by a random time within the specified seconds, which can be up to 3 hours in this case. Removing it will ensure the timer triggers at exactly midnight. Additionally, using OnCalendar=--* daily correctly schedules the timer to run every day at midnight.