[1]: https://reactos.org/
[1]: https://reactos.org/
Reliable real-world compatibility requires not only implementing Windows APIs as documented (or reverse-engineered) but also discovering and conforming to quirks, undocumented features, and permissive interpretations of the specs or even outright bugs in Windows that some applications have either intentionally or unintentionally ended up relying on over the years.
I don't know if modern apps would tend to be better engineered to actually follow the spec and to only build on features as documented but for example older Windows games were sometimes notorious for being quite finicky.
And of course if the goal is a full-scale independent OS rather than a compatibility layer on top of an existing one, there's the whole "operating system" part to implement as well.