I don't know how challenging is this vs. let's say the first NT iteration or the switch to XNU and OSX at Apple, but I'd say Fuchsia is taking waaaay longer.
I've read somewhere that Fuchsia's UI is being developed behind closed doors, so it may be in a more ready state than what we believe. I wonder if Starnix and ART are already functional.
Over the new CPU generations, things have gotten more verbose to handle. For Intel, 16-bit real mode was pretty simple to write code for, and build a system on. But then we needed more RAM, and added memory security from random processes, so then 32-bit protected mode became a thing. And then we needed more RAM again, amongst other features, so then a slew of improvements came with 64-bit, along with all the edge cases and complications that introduces.
So hardware has gotten more complex and featureful, which requires more effort and code to handle. There is a variety of popular hardware to support (ARMv7, ARM64, x86, amd64), not to mention network cards, and peripherals. There are so many new protocols and standards to support nowadays.
Basically, implementing an OS from scratch seems to get progressively harder and harder as the years go by. The funny thing is, despite how time consuming and difficult it is to get right, web browsers have become so bloated that they're basically just as hard to to implement from scratch.
I've read somewhere that Fuchsia's UI is being developed behind closed doors, so it may be in a more ready state than what we believe. I wonder if Starnix and ART are already functional.