I am afraid I don’t know all the different bus options between Botswana, Zim and South Africa, but these should be easy enough to research on the internet. But I can offer advice on which route you should take and what to avoid.
I would take the bus Uppington to Windhoek and onto Victoria Falls. Once done in the Falls catch a transfer Vic Falls to Kasane (easy to arrange through us) and maybe even send a night or two there as that is the famous Chobe national park with outstanding game viewing. Then catch the minibus Kasane to Maun this is quite a drive of about 620kms and will take at least 8hrs - the flight takes 1hr. I would now not back track all the way to Victoria Falls but I would stay in Botswana and catch a bus to Gaborone and then onto JHB. This will save you time and money.
Avoid buses from Bulawayo to JHB as this will involve travelling through Beitbridge border post which is very unpleasant. The VF to Bulawayo train is also a pretty hectic and unreliable journey. An adventure in itself but also a bit stinky and dirty.