I am traveling to South Africa this year on a U.S. passport, and will be taking a safari that leaves South Africa and goes through Namibia, Botswana and Zimbabwe and then I must return to South Africa within two months to fly out of Johannesburg.
I don't need a visa for a stay under 90 days, but does that allow me to exit and re-enter the country as long as it is within 90 days?
I don't see why that should be a problem. US passport holders are allowed visa-free entry for up to 90 days, and when you exit South Africa that counts as the end of your trip. When you return to South Africa from travelling in the other countries you mention, the 90 day counter starts again - the 90 days isn't counted from the start of your trip to end. I don't see any regulations on gaps that need to be left before a second entry can be made, so that should be fine too.
To correct Ankur Banerjee's response - I recently discovered from personal experience at Oliver Tambo International Airport, Johannesburg that when you leave South Africa, having entered as a national of a visa exempt country, and travel to other countries, the 90 day counter does not "automatically" start again once you leave and re-enter South Africa. Apparently, it only starts when you return to the country which issued your passport, so for example if you come back into South Africa from a visit to other countries, a day before the expiration of the 90 days and you intend to leave a day or two after the date stamped in your passport, you will be slammed with a penalty for overstaying illegally in South Africa. THE CLOCK APPARENTLY DOES NOT RESTART ONCE YOU LEAVE AND RETURN TO SOUTH AFRICA!!
This is correct, if you hop just over the border you will get maximum 7 days to leave the country.
Overstays of less than 30 days end in ban for 1 year and with more than 30 days day will make you an unwanted person for 5 years. Even if you applied for visa extension at home affairs.
Since 26th May 2014 you cannot apply for an extension for visitor visas in South Africa.