I don't think it is utter madness.
When node showed up it won a lot of devs who already knew the JS from the front-end as it allowed them to do break free from all the cruft that java projects imply. It was fresh, simpler way to build backends.
You need dozens of files of both code and configuration to build say an API in java versus a few lines of js if you're using node and for example expressjs. This is powerful.
You don't have to type 20 times the word "int" to pass an integer into functions. You dont have to fight with complex build systems. No need to create 5 classes which are just passing an employee record around.
Just write a few functions in a couple of files and and run it. That's the beauty of the js.
Sure there are other languages with the same advantages but if you already know js you just use what you know versus going to learn something different (or hire another person if you're a manager)
On top of that, JS while it has its quirks, like any other language, it is not as bad as it was and it does have awesome features for many projects. For example, promises and callbacks can be tricky but they're infinitely easier than dealing with mutexes and race conditions in multi threaded server environments.
I speak as someone who's built APIs in java, js and python.
So when everything is considered (cost, team skills, etc.), using js/node is actually the right answer from an engineering perspective, for a lot of projects. Not all, of course.
I agree though that the js ecosystem is a bit crazy as there are too many options (esp for front end is frameworks)..