The first two are both grammatical, and mean roughly the same thing, but are parsed slightly differently.
100 states party to the treaty
party to the treaty is being used as an adjectival phrase that describes the 100 states.
100 state parties to the treaty
parties is a noun, qualified by state, and to the treaty is a prepositional phrase that describes these 100 state parties.
Google Ngrams shows that states party to the treaty is slightly more common, although they've swapped positions a number of times over the past few decades. It sounds better to my ears, but that's just personal opinion.
100 states parties to the treaty
can't be parsed in either way. When a noun is used as a qualifier, it's normally singular. And parties is not an adjective, only party would be.