Could the issue be connected to this fix?
https://github.com/discourse/discourse/commit/737c6067104e06a9b96c11956062e10eccebf9e9
The cancel_scheduled_job call in ScheduleBackup is different to the others I found in that it doesn’t supply any args.
My WAG is that perhaps each RailsMultisite iteration in the base scheduler is cancelling the previous scheduled backup leaving only the last one to run?!