node.js does not impose it for everything. Every command in the fs library that has a natural synchronous interpretation (like reading a file, writing a file, ...) has a sync equivalent (readFileSync, writeFileSync, ...)
sync apis are just a conveniance for console applications, they are not meant for a web server.
So yes node.js DOES impose async programming for everything or node doesnt scale.
This is an interesting point. I've found in practice that the speed of server startup times depends on the scale of operations. For example, at a small scale, a 600 ms vs. a 1.2 sec startup makes little difference.
However, at scale such differences can matter. More so when something is going wrong that's causing erratic restarts.
But there's no reason we couldn't have syntactically synchronous code that still runs concurrently.