I think we should differentiate between morphological structures and syntactic functions. A noun phrase can be, according to the role it plays within the sentence, subject, subject complement, direct object, and even an adverbial adjunct.
1st-2-a: Jack has played the guitar for months.
However, the entire prepositional phrase "for more than five months" is adverbial.
1st-2-b: Jack has played the guitar more than five months.
Now the phrase "more than five months" is adverbial rather than substantive
In the absence of the preposition "for," I'd be inclined to say that "more" (which is an adverb) is the head of the adverbial adjunct. However, a noun can be the head of an adverbial. Although this is less frequent than the prepositional phrase with "for," I think we can use "five months" as an adverbial, especially in the presence of another adverbial, don't you agree?:
4. Jack played the guitar five months before joining the band.
5. Jack played the guitar five months at the Music Conservatory.
1st-2-c: Jack has played the guitar longer than five months.
In this example, it seems clear that "longer" must be the head of the adverbial phrase, since "longer than five" can't modify "months" like "more than five" can.
I agree. "longer" is a standalone adverb, while "more" is not.