THIS IS BECAUSE
GabbyMontez [Dec 02, 2006 at 02:03 AM]
b'cuz....read this: Zac Efron's (Troy) singing voice was that of composer Andrew Seeley, who was also considered for the role. Seeley sang the entirety of "Get'cha Head in the Game", as well as composing it. He also sang the Reprise of "What I've been looking for". Zac Efron only truly sings the first 4 sentences of "Start of Something New", the first sentence of "Breaking Free", and during the scene on the balcony. The reason for this is because Zac Efron's natural voice is too low for that of a Tenor.
From
Here