It's all about history of system support. Most banking transactions are run as a batch system starting at 2am. this gives 4 hours to process via antiquated cobol software systems.
If they fail before 6am, then the bank that's a 3 hour window in which the software support engineers can fix the system.
What happens us that the banks software system makes a call to the clearing house system and fetech a ginirmius file if transactions, this can take quite some time to travel across the internet.
Once it has the file the system processes it line by line, so a bank with have a file with several million transactions to process - that takes a bucket load of time.
If a record is corrupt in any way, it gets dumped to a fail queue for secondary processing.
Depending on the nature of the fail it may result in a human being having to check and fix it. Now these humans nay be offshore in Chennai, meaning they will start work at 6am London time, if in the UK 9am.
Now given the cost of support staff none of this happens at the weekend.
It really boils down to antiquated software systems designed in the 80's.
Even the new startup style banks like Starling and Monza are having to face these issues, because if the integration with trad banks and clearing houses.