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".