In addition to all the above, it’s related to curfew and aircraft rostering limits. The average West Europe to JNB flight is 11h30, giving a round trip time of just over 24 hours allowing for turnaround. So morning arrivals into JNB would have to turn around in time to reach ‘home’ before 2300 in most cases.
There are a couple of southbound daylight flights (my favourite KLM into JNB and CPT notably) and I think BA have one into JNB on some days. These reach SA late evening and turn round heading north leaving just before the curfew, this avoiding the long time on the ground in SA. I am told that most people do not like day flights on this route, something I find hard to understand as I prefer them to the overnights.
I don’t recall a LH dayflight but I believe Condor did one at certain times of the year.