This seems to be a "lack of intuition."
It could possibly be a fear of doing the job incorrectly, which would be pretty ironic. If he always does exactly what you ask, then he never fails you. It could also be a responsibility problem, but I'm not a psychologist.
Perhaps a constructive approach would be to have him ask questions to clarify what the end goal of a task is so that he can carry it out. Or leave questions intentionally vague so he has to clarify. For example:
In the cancel button problem, you said "Please add a cancel button to this alert dialog." You could follow up with a more vague overview of what is being asked to intentionally provoke questions: "Please add a cancel button to this alert dialog. It should function like a normal cancel button should" The ending is vague enough that he might have to ask what you mean by normal.
If that doesn't work, I'm willing to bet it's less of a problem with lack of intuition so much as doing the bare minimum. In which case you'll have to figure out how to motivate the employee, pair the employee with someone who will hold them accountable, or let them go.