I was in both cities this June. CPT was 14oC and extremely wet - there were lethal floods on the Flats. The weather can be very variable, pack for rain.
JNB was dry. 20oC during the day, sunburn is still a real threat - at night it can get down to freezing, but slightly less cold is more normal.
I'd ignore the advice to skip Kruger, but if you do, you can make a day trip to Pilanesberg reserve from JNB (2.5 hours each way) which is a great safari light. Next to Pilanesberg is Sun City, which is a mini-Vegas resort.