The main point of Stack Exchange, and why there are 80+ sites, is that when you ask a question on one of the sites, you're going to get expert-level answers about the subject of your question. Uniquely targeted content attracts experts in the field who can then help those seeking expertise.
So, if you go to Biology.SE, and ask a question about biology, you're going to get an answer from an expert biologist vetted by other experts in the field. There's a higher chance the answer is correct—and more importantly, high quality—than if you went to a general purpose site like Quora or Yahoo! Answers.
Of course, the other side of this coin is that if you ask about music or the arts on Biology.SE, you're not going to get an expert answer (if you even get an answer) because the audience of the site isn't music. For that, you want to go to Music.SE.
In this framework, our site is for experts in programming. You ask a question about programming, you're ostensibly going to get answers from expert programmers vetted by other expert programmers. If you ask a question about anything else, you're going to get low quality answers vetted by people who aren't experts in the subject.
Now, we programmers tend to be a pretty confident and self-involved bunch. There a lot of things we do, like, or believe that we think are unique; that by virtue of asking about something as a programmer it is much different than asking about it as anything else. And of course, that because it's in the context of a programmer involved, we must be experts and qualified to answer the question.
The truth is that this isn't actually the case: we aren't special snowflakes who see the world qualitatively differently from everyone else. Yes, there are a lot of things that are directly about programming, but there are an awful lot of things that really have nothing to do with it and require the expertise of people who aren't programmers, or require expertise outside the scope of programming.
These questions are off-topic: if you're asking about cryptographic protocols in general, you want to ask our site for cryptography experts, where they will cater to you. If you want to ask about HAL 9000, you want to ask on our site for experts on science fiction and fantasy, not here.
Then there are questions that don't request expertise, or, given the way we're structured, require an expertise that can't be found on Stack Exchange. Things like personal career advice, polls, workplace therapy and the like require the expertise of people who know the asker on a personal level, or at least knows the situation from all sides.
That is, I can't tell you what's going to be good for your career because I don't know you. I don't know what you like to do, what motivates you, what your current life situation is, how many bridges you've burned, and so on. I could get to know you and find all those things out, but that'll take forever. What you really need is a mentor. Stack Exchange is not a mentoring service: we're a Q&A service. The "A" stands for answers, not advice.
Suggestion 1: Rename the site
So given all this background, there's no need for a name change because we really do only allow questions directly to programming. We even have a handy chart in the FAQ:
The problem is, people tend to think their question fits the blue, "All Programmers" area when really it's in the white "Just You", "All Careers", or "All People" areas.
Suggestion 2: Allow closures to be peer-reviewed.
As Anna noted in the comments, if you have enough reputation to vote to close (currently 3,000), you also have the ability to vote to reopen any close questions. It takes five community members to reopen any question.
Alternatively, if you'd like to make your case and try and convince others (including moderators, who can reopen any question unilaterally), create a meta discussion question here and explain why the question is on-topic and how you've revised the question to address the concerns that it's not. This way, we as a community can discuss the closure and come to a consensus.
Suggestion 3: Provide more sites for migration
We moderators can, and often do, migrate questions anywhere else on the network.
When a question is flagged for closure, we check to see if it might be a better fit elsewhere on the network. If we find a potential match, we contact the moderators on the candidate site and see if they want the question. If they do, it goes; if they don't, we close it here as off-topic.
Generally, the reasons sites don't want questions fall into two categories:
The question is low quality. There's a network-wide golden rule: don't migrate crap. If a question isn't a stellar fit for the destination site, it shouldn't get migrated.
The question is actually off-topic on the destination site. Tying into the background above, each site is a community of experts. We're not experts in all the subjects that might take off-topic questions that have been asked here. What might look like, to us, a question that's on-topic on one site might actually be out of scope there, for whatever reason. We can't force people to accept questions on other sites.
So, in short, if you think a question's closed but is really, truly about programming (and not about something else asked by a programmer), revise the question to explain what, specifically, is being asked that requires the unique insights of a programmer.
If you see a question that might be a good fit on another site on the network, flag it for moderator attention and we'll contact the appropriate people and make the arrangements.