Why can't developers just check an ARM box, click the Build button, and release the ARM version of their product? After all, it shouldn't be harder than exporting a video to Youtube, right?
Ideally, that should be the case, but the real world is not so simple.
For starters, the byte order is different, so every time your app is loading binary data, the bytes will be in the reverse order, which may be a big deal. This needs to be addressed before we can recompile our apps. Chances are that those of us who develop for both macOS and iOS already have this sorted, but not everyone is free from this issue.
Another problem is OS features and functions. A big application doesn't stand on its own. For example, we have to deal with GUI, fonts, rendering, and so on, and many other system functions, which are often not portable. When a new OS comes out, it's not just the CPU and the architecture that changes, but the OS and its functions as well.
And finally, there are the 3rd party dependencies. If you rely on 3rd party software, and that is not ready for the new platform, you are not ready, either.
Then there's the small issue of QA, testing, packaging (digitally speaking, not actual cardboard). For example, x86 Windows requires completely different installation mechanism than ARM Windows. And no one knows anything about macOS ARM, because it doesn't exist, but you can bet it's not a simple check box to check.
Small devs with small apps will be able to move quicker. Large companies have more resources, but usually more complex software, and very slow decision making by conservative management. Even Adobe doesn't have infinite time and resources. The "lazy developer" comment isn't always appropriate. Enthusiast developers will move on very quickly. Tired old corporations aren't slow because of lazy developers. We work day in and day out, but we report to our managers. When you have a team of 100 developers, it's not like you can move overnight. 2 months of testing is routine as well.