I will attempt to answer this as a South African. This is a very subjective question and I will answer it from personal experience.
Generally, as you stated, between 10% - 20% in bars and restaurants is the accepted normal. 10% for fast food delivery drivers as well. Petrol attendants get between R5 and R10 depending on the service provided.
Note, most of us don't give every car guard R5. I tip every third or so car guard, especially if they've helped me into a tricky parking spot or watched my car in a more dangerous part of town.
Onto the actual question,
When staying in self catering accommodation, like a house, how much do you tip the housekeeper who comes every day? Does it depend on the nightly rate or number of people? Do you tip per day or per stay? Does this also apply to hotel type accommodation?
This is highly variable depending on the location. It's a valid question to ask the agent who rented the apartment to you what the expected tip is. It's not an embarrassing question. For a family of four, I would tip between R50 / 75 a day in the Transkei to R100 / R125 a day in Cape Town / Johannesburg. This is over and above what they get paid by the property and based over the festive season.
When I specify a day, that's 2 or 3 hours they come in to tidy up while you are staying at the property. You don't tip them for days they do not come in. You give it to them when you leave on the last day or leave it in an envelope with the rental agent.
In the urban areas, you tip more because of the relative cost of transport. If it's over a public holiday or the festive season, you would be expected to compensate them for that.
Some holiday homes, especially in the more rural areas (Transkei), do not have cleaners permanently assigned. You would generally negotiate directly with the cleaners and specify a period of time they are expected to clean the house (the two weeks it's occupied for and what times and when the cleaner must come in).
Do you tip government employees like SANPARK staff? If so, how much for people who clean your accommodation, rangers, and guides?
Again, I would leave something small for the Sanparks cleaners but I wouldn't tip the rangers or guides unless they went beyond the call of duty expected. They are paid for by the Government and I don't think they would expect a tip. Sometimes you just got to follow the wisdom of the crowd. If others are tipping, you might as well tip too.