There's a very obvious answer to this.

Yes, someone might end up spending what seems like far too much time writing the code that produces a single error message. 
That could be many many hours, and really doesn't seem worth the effort.

But consider that this error message might be seen millions of times, and each time it is going to save time for the people doing the debugging. 
Even if it saves each of them only a few seconds, it's already paid for itself many times over, and in reality it's going to save them a lot more time than that.

Just compare the time you'd spend in each of these two error messages:
- Syntax error at line 86.
- No matching close for parenthesis in column 23 on line 86.

It would take significant debugging time to determine what the "syntax error" is in the first case, while the second instantly reduces it to a now-obvious typo.