I hate the "code should be self-explanatory so no comments" thing. I love comments. However, *how many* comments also depends on the language - in Elixir I write less because I feel it's expressive. I would write a ton of comments in C or a new language.
doctests and documentantion have little to do with comments. Comments are aimed at explaining how code works and why it works that way, documentation is there for telling folks how to use a piece of code. Doctests are documentation tested for correctness. Does it make sense?