My answer is a bit tangential, but should help somewhat.
Archive your Q&A:
I face similar problems, but on an annual, seasonal base. Every semester I find myself answering the same fundamental questions. Then I thought I should probably spend my time on more valuable activities, so for different courses I set up a WordPress or wiki site to compile a list of Q&A. Whenever there is a question e-mail to me, I posted the question (in a de-identified format) and my answer. Students can comment on the blog or directly edit the wiki if they have anything to add.
Now, six years down and the sites are going well... I can't be happier that I made the decision. The initial investment was high, but it started to pay off pretty much instantly.
Provide a questioning protocol in the syllabus: In my syllabus I also included a section called "What to do if I have a question?" In the section I put information about how to search different resources, how to test the codes step by step, how to find a popular discussion board and what are some I would suggest, what other reference books one can use for more/less advanced readers
I specifically explain how to properly ask a question in e-mail. For instance, I specify that in the e-mail they should describe what they are trying to achieve, software that they use, data set that they use, problem (with relevant error message and screenshot.) I also specify what are not the right ways to ask question, which includes:
- "Please take a look and see if I am on the right track." -- We do not check your homework without you specifying a question. The grade will tell you if you were on the right track. And the suggested answer scheme will guide you to improve your work
Consider giving some very explicit hints, and ask the student to identify what went wrong: This one hits me hard, because I felt giving the steps to them make them learn less. However, there have been some students who were really lost. And in those case, I would consider calming them down by providing an anchor point, which is the steps to the right answer. I then follow up with them by asking "Now, you have the suggested steps guiding you to the answer, compared to your original scheme, can you identify what might have gone wrong?"
Be very sure that you did give enough examples and self-assessment opportunities: When developing questions, I will make sure to start with some that are very similar to the examples I show in class or notes. Sometimes, we may want to try to tweak the questions right from the get go by introducing what we think are "simple logic." That, to me, is not the correct approach. If the task is how to deal with XYZ, then show them how in the class, and then test them the exact same skill sets in the beginning of the assignment. From there and on, you can start introducing slight variations, so that now it's about XY'Z... just a bit of a twist, bit by bit.
For us who have sorted all topics nice and tidy in our brain, we can immediately tell the unimportant from the important (think a super nice walk-in closet on a lifesyle magazine.) For the students, their pieces are like a pile of things in a dorm room. For that reason, I wouldn't worry too much if they ask seemingly very simple questions... because when you don't have all the pieces laid out structurally, some simple stuff can look huge.