same structure but different meaning

When you have compound nouns like Nazi-hunter, what you have is a noun–noun compound. There is likely an implied connecting preposition between them, such as for or of or with.

This is the same difference as found in running shoes versus running water, where the first uses running as a noun (those shoes are for running) while the second uses it as an adjective (the water is running).

Same thing with your pair.

In the Nazi hunters case, the word Nazi is being used as an attributive noun, the same way baby is in baby sitter or pencil is in pencil sharpener. These are about hunting Nazis, sitting babies, or sharpening pencils. The relationship is more like hunters of Nazis.

It is not being used as an adjective because if it were, then we would be able to say that the hunters were Nazis — buy you can't. They are not Nazis. They hunt Nazis. In the same way, you cannot say that the sitter is a baby.

When you have killers who happen to be Nazis, then Nazi is working more like an adjective. Look for an "is a" relationship in adjective–noun compounds. The noun is an adjective. You can’t do that with noun–noun compounds.

In speech, you can usually hear which type it is because of the stress. A BABY sitter is stressed on that first word, a noun. With a baby SEAL, then the adjective isn’t usually stressed.

With Nazi killers you could have it either way, either Nazi KILLERS for killers who are Nazis or NAZI killers for killers of Nazis.