The article and programs make an assumption that I disagree with: That there is only one appropriate way to output error messages.
This is an absurdity. Both methods are valid. Different people want different things from the error messages.
This is most commonly addressed in programs using "verbose mode", often with multiple levels of verbosity ( -vv or -vvv ).
Another type of error message which I wish was a required standard is to output structured error messages in the form of JSON containing all the relevant bits of information. It is very annoying to have to parse apart error messages coming from a tool being called programatically.