Yes, the many faces is fine; so are the various faces, the few faces, the several faces, both the faces, etc. Your Freenode people are on the edge of wrong. See this Google Books search on “the many”, to discover the many sorts of the-many examples that exist out there.
- The many costs of racism
- The many faces of shame
- The many voices of
- The many legalities of
- The many voices of history
And many more. But “many voices” seems the most common.
The problem is that you are assuming many can only be a determiner. I think you should consider that it could also be of another, more liberal class. Then you wouldn’t have to fix your rule.
Otherwise you would have to change the rule to
NP → (D+) (AdjP+) N (PP+) (CP) (PP+)
But that would admit many invalid parses, so I don’t really suggest it.
You may have to subdivide your determiners.