The standard library is still callback hell and the async package doesn't use promises at all.
So promisifying a callback-based API does address it by either letting you use a yield/await abstraction or at the very least promise composition.
Wrapping a callback-based API is such a mechanical process that you can wrap entire modules at a time, so I'm not sure what's hellish about that when it gives you promises, something you can actually work with.