Johannesburg is clearly 'the burg of a man named Johannes', however just which Johannes is a controversial question as there are several contenders including Christiaan Johannes Joubert, Stephanus Johannes Paulus Kruger, Johannes Meyer, and Johannes Rissik. Perhaps Joubert, who had a park named after him, and Rissik, who had a street named after him, are the leading contenders.
Cape Town is of obvious derivation for it is a town on the capr of Africa. Of some interest is the origin of 'cape', initially used to refer to the cloak with a hood, which shares its origin with 'cap' and is ultimately from a Proto-Indo-European word kaput which means 'head'.
Durban was named for Benjamin D'Urban (1777-1849), a British general and colonial administrator who served as governor of what was then known as Cape Colony. The Zulu name is eThekwini from itheku meaning 'bay' or perhaps 'lagoon'.
Pretoria was named for Andries Wilhelmus Jacobus Pretorius (1798-1853), leader of the Boers in their creation of the South African Republic.
Port Elizabeth was named for Elizabeth Frances (nee Markham), wife of Eufane Shaw Donkin, acting Governor of Cape Colony.
Vereeniging's name is derived from the Dutch meaning 'association' or perhaps 'union'.
Soshanguve is a modern name and an acronym of SOtho, SHAngaan, NGUni and VEnda. These combine to show the many ethnic groups integrating here.
East London was originally known as Port Rex, a reference to colonial days, but later renamed after the British capital. Click and scroll down to see what I've previously said about
Bloemfontein is Dutch for 'fountain of flowers' or 'blooming fountain'.
Pietermaritzburg's name, like Johannesburg, is disputed. Some maintain it comes from a combination of Piet Retief, a former Voortrekker leader, and Gert Maritz, also a Voortrekker leader and wagon builder. Others point out it could also refer to the Piet alone, as his full name was Pieter Maurits Retief, and thus Piet Maurits Burg would also work.
Note the spellings of the places are English as the piece is written in English.