The two are applied entirely differently.
Metastability applies to any signal line which is being digitally sampled. If a transition occurs too close to the sample time, the output of the sample device (normally a flip-flop) can become metastable. That is, it may enter an intermediate state for a hopefully brief time.
Adding a 2nd sampling device which samples the first after a significant period can also produce a metastable state. But the odds on that much smaller, since the first device has been given time to settle out of its metastable state. For real devices, it's not hard to produce a 2-step process with MUCH better reliability than a single stage. In some cases, adding additional stages may be a good idea.
Grey code / race conditions applies to parallel codes which require multiple lines. It's also known as skew. Let's say you have a 4-bit code which transitions from 0111 (decimal 7) to 1000 (decimal 8). If the most significant bit arrives slightly before the other three, the receiver will see 0111 followed briefly by 1111, then the correct value of 1000. As you can imagine, this is not a Good Thing.
Grey codes address the question by replacing a "normal" binary progression with one which only changes a single bit from value to value. This will take more bits for the same dynamic range, but that can be an acceptable tradeoff, depending on system design. For instance, if the data source provides synchronous data, it can also provide a clock to provide arrival timing of the new code, avoiding skew problems entirely.