The problem here is that your vote still counted for one of the five needed to close the question, even though you voted on a different reason. If this is implemented as requested, 10 people could close a question 5 times when it should still require 25, if the reasons are distributed such that only one person is disqualified from re-voting every time. This creates an imbalance in the close voting system.
One option to correct this is to allow some symmetry and let users vote to re-open a question multiple times as well, as long as it's a different reason each time. But I think that's starting to get kind of complicated, in terms of people wondering why there were allowed to vote to open some questions multiple times and not others. To casual users it looks like a bug. It also requires some very detailed tracking of votes in a way that my database instincts tell me would severely impact performance.
A better option might be require five close votes for a specific reason before the question is closed with that reason. Then the next question is what happens to votes for other close reasons at this point, but that's a trivial issue. The real problem here is that a question might receive 20 close votes or more and still remain open if users can't agree on why it should be closed, and the corollary of how to allow users to change the reason for their vote.
Put this all together, and I think the system if probably best as it is. It's not ideal, and your suggestion has merit, but as we think about how to implement it I think the conceptual complexity is starting to get up there.