I do think there is a genuine problem in that the same "unclear" close reason gets used both for questions that look good but just need a little bit of clarification, and for crap that's so hopelessly muddled that nobody can make head or tail of it. The former type can be rescued and reopened if the OP just makes the requested edit, whereas the latter can't be fixed without a complete rewrite, if at all.
But I think this is actually a broader issue with closing in general: the current system fails to properly distinguish salvageable questions from hopeless ones, gives askers little guidance on which class their question belongs to, and does a pretty poor job of tracking the salvageable questions and getting them reopened if and when they're fixed.
(The automatic reopen flag on edited questions does help a bit, but users are poorly informed of it, and can easily waste their one chance on a trivial edit. The only site where I've really seen the "quick hold → edit to clarify → reopen" cycle work well is RPG.SE, but that seems to be mainly driven by heroic moderator efforts.)
I don't have any obvious solution, but I do recognize the symptoms: on one hand, we have plenty of blatantly off-topic, nonsense or otherwise hopeless questions lingering "on hold" for a week, even though it's plenty clear to everybody (probably often even the asker) that they'll never be reopened; on the other hand, plenty of questions that could be made answerable with a simple edit never are, either because the option isn't clearly communicated to the asker, so that they never come back to edit their question, or because the klunky reopen process never triggers properly after the question has been fixed, leaving a perfectly good question closed forever (and the OP frustrated and disillusioned).
Another symptom is the fact that, after a while on SE, people stop even noticing the difference between "[on hold]" and "[closed]". The whole point of introducing the "on hold" status was to suggest that such questions aren't permanently closed — but since there's no actual mechanical difference, and since reopening rarely happens in practice, people become blind to the difference. (It doesn't help that even the UI uses "close" and "put on hold" pretty much interchangeably.)
So, let me throw out a few random ideas on how we might improve the situation:
Make "closed" and "on hold" actually different states. It should be easier to put a question "on hold" than it currently is (maybe require just three votes instead of five?), but it should also be easier to reopen such questions. If a question looks hopeless (e.g. blatantly off-topic), there should be some way for reviewers to directly make it "closed" instead of letting it linger "on hold" for a week.
- One solution might be to let three voters put a question on hold, and then allow three more voters to directly close it, if they deem it appropriate. Diamond mods could have a direct option to either put a question on hold or immediately close it. This would require some tweaking of the current closing workflow (such as, maybe, a new review queue for "questions recently put on hold", with options to "leave on hold" and "close immediately"), but perhaps not much.
Make it easier for users to notice when a question they've put on hold is edited. If there was some way to explicitly mark a question as "on hold, but potentially salvageable", users who voted that way could even be automatically notified (via the topbar inbox) when such a question is edited. (The reason we'd want to notify those particular users, instead of just sending the question off to review, is that those are the people who've already invested effort into reading the question and figuring out what it's lacking.)
- This would require something a bit more explicit than the "3+3 votes" mechanism suggested above, though. A checkbox in the close dialog saying "notify me when this question is edited" might do it. Of course, we'd need to actually implement such a notification mechanism in general.
Delay the automatic reopen flag cast when a closed question is edited, e.g. by a day, so that the question can accumulate multiple edits before it goes into review. (Of course, if somebody manually flags the question for reopening in the mean time, great! The auto-flag should really just be a backup in case that doesn't happen within a reasonable time.)
Or perhaps make "flag this question to be reopened" an explicit UI option when editing a closed question. Users with the appropriate privileges could have that option always available, e.g. as a checkbox under the edit form, while the question author could have it as a one-shot option (with a fairly visible UI so they don't miss it; e.g. two submit buttons labeled "Save draft" and "Save and resubmit"), with a confirmation dialog asking if they really think their question is ready to be reviewed now.
Alternatively, we could just abolish the "on hold" status entirely, and suggest to askers of closed questions that, if they think they can fix the issues with their question, they're better off deleting and reposting it. In this model, reopening would basically be reserved only for questions that already have answers when they're closed. This might seem brutal, but in some ways it's just acknowledging the current reality on many sites.