It will help 1) to separate the lexical class of a word (i.e., its part of speech) from that word's function in a sentence and 2) recognize that one word may belong to more than one class. With regard to 2), blue is an adjective because it modifies nouns:
It is also a noun because it names some thing:
Q: Which dress do you like?
A: I like the blue.
You may decide for yourself whether blue is two English words that happen to be spelled the same or whether it's one English word that happens to belong to two different lexical classes.
We determine which parts of speech a word belongs to by applying certain grammatical tests. For instance, adjectives have grades; nouns don't. So we say
That's the bluest sky I've ever seen
*That's the skiest thing I've ever seen.
Nouns take determinatives and nouns appear as objects of prepositions. Thus we can classify blue as a noun since we can say
I like the blue.
She was dressed in blue.
Notice that in general we can't say the same thing for adjectives:
*I like the happy.
*She was in happy.
We can be sure that cat is a noun. It names a thing, namely at type of animal that makes an excellent pet. It takes determinatives, is modified by adjectives, and shows up as the object of prepositions:
My neighbor talks to her blue cat.
It doesn't have a grade, i.e., we don't say that one cat is catter than the next. But the functional roles in English sentences aren't restricted to particular parts of speech. The role of noun modifier isn't restricted to adjectives. A noun may also be a noun modifier, and in that role such a noun is called an attributive noun:
and so on.
Just because attributive nouns function as noun modifiers doesn't make them adjectives.