All three of the words you’re asking about can be used for people, but the implications are different.
Dünn is a rather neutral word (as Crissov pointed out, it is the opposite of dick). It can easily be used for objects as well. It can also be used for liquids such as soup and then means low viscosity or for thoughts and then means weak (and for more meanings).
Ich brauche eine dünne Unterlegscheibe, mit der dicken, die ich habe, kriege ich die Schraube nicht zu.
Models sind üblicherweise recht dünn. (No implication as to whether they are thin in a good or bad way.)
Meine Suppe ist einfach zu dünn, ich muss sie noch eindicken.
Schlank has a positive connotation. It can be used for objects, but mostly for aesthetically pleasing ones. If you say that someone is schlank, they are thin in a good-looking way.
In meiner Klasse ist ein schlankes Mädchen, die richtig gut aussieht.
Die Skulptur ist schlank genug, dass man nicht dagegenstößt.
Mager has a negative connotation. When used on people, there is a slight implication of anorexia (called Magersucht in German). You’re basically implying that someone is too thin for their looks. This carries over to when using mager for objects: The implication is always too thin.
Gott, die sieht mager aus, sie sollte mehr essen!
Deine Zimmerpflanze ist aber mager, gießt du sie auch regelmäßig?