I always thought it was 9 minutes to have 10 minutes of total delay with 1 minute ring time. So that if you don't do anything it keeps ringing every ten minutes.
If you hit snooze it just stops ringing earlier.
I think it's optimised to ring periodically in the worst case scenario (when you don't wake up).
With earlier snooze it's just easier to keep the 9 minutes worst case implementation, instead of taking into account the time you hit snooze and adjust the snooze time to reach the 10 minutes total delay between rings.
If you hit snooze it just stops ringing earlier.
I think it's optimised to ring periodically in the worst case scenario (when you don't wake up). With earlier snooze it's just easier to keep the 9 minutes worst case implementation, instead of taking into account the time you hit snooze and adjust the snooze time to reach the 10 minutes total delay between rings.