This is by design: already means "in this round of voting" and previously means "in some prior round of voting".
For example, say that some innocent user posts a single-word-request, with lots of context and well-formulated and everything, and an outsider with mod powers comes along and knee-jerk closes it. You read the question, scratch your head at the closure, and vote to reopen it. A few days later, you encounter the still-closed question again, and not remembering your previous actions, you vote to reopen it again, but the system doesn't let you because you have already voted to reopen it. Now, suppose the question collects four other reopen votes and lives happily for a few days, until another outsider with mod powers comes along and closes it again. Now, if you try to vote to reopen the question, the system won't let you, because you have previously voted to reopen it.
The intent of this functionality is to prevent "close wars" or "reopen wars". It's an unfortunate side effect that it means that a vote of 5 open vs. 2 close can result in a question that is, for all intents and purposes, permanently closed (because it's very hard to collect 5 new reopen votes).