The grammar in the article is kind of bad, which makes it difficult to read. This could also be the cause of not-so-well expressed concepts.
> 1 Node.js is Asynchronous
It's not. Code can be asynchronous, while the environment can support asynchronous code. Node does.
The article correctly mentions that Node is single-threaded, so when dealing with multiple tasks the developers are more or less forced to adopt an asynchronous style. It's common when building a web application, for example.
But when Node is used to just run an unparallelized JS script, it's fine to use synchronous methods. That's why they're there: you don't *always* need to be asynchronous.
> 2 Is it possible to handle Callback Hell?
Yes, but that's more related to JavaScript in general rather than Node. It's also worth mentioning that Node supports Promises since version 0.12, rather than just suggesting external libraries.
> It is definitely necessary to split codes because you'll have to work with many tables.
Eh, uhm, what? The author takes for granted that everything you do with Node should have some kind of persistence in relational databases, I guess?
Well, even if it was true (and it's not, of course, starting with the fact that you don't always have to work with relational entities), that's not why you should split your code into several modules.
The tips per se aren't wrong, but in the end the article lacks meaningful examples, and the nature of the hints varies a lot, making it difficult to follow the overall argument.