All of the words you provided can be translated as to clean something. In almost all situations they are synonyms.
If something is sauber it means that it is not dirty, so säubern and sauber machen both mean that something is put (back) to a clean state. This at least requires removal of any visible dirt.
Rein is a bit stronger, it means to be pure, there is no impurity left, be it visible or not. Reinigen can be used for cleaning clothes, but also for applying chemical cleaning agents to machine parts etc.
Putzen is often used for physically scrubbing something to remove dirt and make it shine again (shoes, windows, but it is also used describing animals grooming their fur). This does not mean that it isn't also used in other contexts (eg. "Putzerei" is used synonymously to "(Textil-)Reinigung" for a shop offering to clean your clothes here in Austria (as indicated in the linked Duden article, this meaning seems to be exclusive to Austian German).
It can also be used in a very general way as in die Wohnung/das Auto putzen, where it would imply performing all the activities reqired to put the object/place back to a clean state (washing, scrubbing, vacuuming or whatever else needs to be done)