So when you use a verb in a reflexive manner and in passato prossimo, you always use 'essere' as the auxillary?
Yes, as a rule all reflexive verbs use 'essere' as auxiliary, regardless of the non-reflexive form.
I don't understand why sono was not allowed to refer to the first person in this sentence.
Because of 'si' (reflexive of the third person) and 'messi' (plural); "I have put my pants on" would be "Mi sono messo i miei pantaloni". "I have put their pants on" would be odd, but it'd be "Mi sono messo i loro pantaloni".
Thanks, I get it now
where is the "to have" verb?
Technically there is no "to have" in the sentence (word wise). With the passato prossimo, this sentence can say "they put on" or "they have put on." Either works.