Exactly, the very reason why it is near to impossible to estimate time in computer programming is because programming has always, at least a little, to do with a research of a solution to a logic problem. And finding a problem solution means finding something unknown from the point of view of the programmer. Ultimately, the programmer don't even know if she will succeed in a finite time.
So we can't say either: "programmers are bad to estimate time" because nobody is expected to do the impossible.
It would be the same to ask: "can you estimate the time mankind will need to find the cancer vaccine? You can't? You're bad..."
Yes, it's hard to estimate time for problem solving. But the author has a very good point that you shouldn't neglect an hour for basic testing of a fix after solving it. And that you should take a moment to consider what classes depend on the code to both hinder changes and make you spend more time thinking about side effects.
So we can't say either: "programmers are bad to estimate time" because nobody is expected to do the impossible. It would be the same to ask: "can you estimate the time mankind will need to find the cancer vaccine? You can't? You're bad..."