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