I understand the author's frustration, but I don't think this is an issue with npm - rather, it is an issue with the culture.
Most node packages are small - rarely more than a couple hundred lines, and rarely do more than a single function (and do it well), in terms of functionality. Given that, it's easy to understand why people tend to reinvent the wheel - it's fun, exciting, and many times you think you can do it better.