Staff costs are high. Most people are winding down for the evening by 7pm. To keep it open another 5 hours means spending a lot of money for staff, security, utility bills etc. during a time that nobody is going shopping. So they would make a big loss.
Only specific business’s that can guarantee foot traffic at night will stay open like takeaways and convenience shops