Why does FeO(OH) have two CAS numbers?
Why does it have two CAS numbers? As I know, the CAS number should be unique to each substance.


Yes, that’s exactly the principle and also why two CAS reference numbers are associated with $\ce{FeO(OH)}$. SciFinder gives 20344-49-4 to be the ‘boring’ laboratory iron oxyhydroxide, while 1310-14-1 is mentioned as the mineral goethite. Goethite is the &#x3b1; form of $\ce{FeO(OH)}$; &#x3b2; (akaganéite), &#x3b3; (lepidocrocite) and &#x3b4; (feroxyhyte) forms exist, too.

Since each of these four minerals has a well-defined structure, much better defined than simple $\ce{FeO(OH)}$, they should (and will) each get a single CAS number for unambiguous referencing. At the same time, the generic CAS number 20344-49-4 also exists for lab-grade non-mineral $\ce{FeO(OH)}$.

So what you are experiencing is not a violation of the one-substance-one-CAS-number rule but rather a confirmation of its strictness.