When your DSL modem connects to the DSLAM at the exchange, the DSL modem and the DSLAM figure out between them how long the telephone line is, and how much noise it is picking up. From this, they work out how fast they can communicate. The line attenuation is the resistance experienced by the signals your modem sends. The longer the line, the more resistance there is. It doesn't help to push up the voltage, since cooking pigeons that sit on your line, while fun, does not actually help the communication task. The lower the signal level is once it gets to the other end of the line, the more atmospheric noise makes a difference. Taken together, the further you are from the exchange, the worse your experience is going to be.
If your maximum speed is 2Mbps to 4Mbps, then your distance from the exchange is probably 4km to 5km. Alternatively, telkom does not have ASDL2+ equipment at your exchange. If you search for "adsl attenuation distance graph" you will find a number of graphs that all say this, e.g. this one.
If telkom says you can only get 2 to 4Mbps, best is to believe them. If you order more, you're going to pay more, but you are going to get 2 to 4 Mbps. If you are horribly unlucky, your modem will sync at a higher speed, but the connection will continually drop for no particular reason. If you believe they have made an error, measure the distance (along the road) from your place to the exchange, and ask your neigbours what kind of ADSL speed they get.