I've noticed lately that almost every question asked is being edited by someone else? Why is that necessary?
It is not necessary for every question to be edited by another user. However, as @Kareem pointed out, it is a general policy on Stack Exchange to encourage editing posts to improve their quality. When the help center says "try to make the post substantively better" this should be understood within the context of what constitutes "good content" on SE, as described in the "Our model" section of the Help Center. Specifically:
Why can people edit my posts? How does editing work?
All contributions are licensed under Creative Commons, and this site is collaboratively edited, like Wikipedia. If you see something that needs improvement, click edit!
Editing is important for keeping questions and answers clear, relevant, and up-to-date. If you are not comfortable with the idea of your contributions being collaboratively edited by other trusted users, this may not be the site for you.
The important thing to take away is that questions and answers on SE should be clear and relevant. SE's aim is to provide a repository of expert answers to useful questions. That's why questions and answers are saved, tagged, and searchable, and why the community edits them to maintain a basic standard of quality.
Sometimes the way the question is worded tells the reader a lot about the knowledge level of the person asking the question. Editing it "for grammar" or to make it clearer isn't always helpful, in my opinion.
If the person asking the question is only after an answer for themselves, they can ask in the chat room (or on any of the several other CS50x resources - reddit, IRC, Facebook). Keep in mind that users of this site (and MOOC students in general) come from an incredible variety of nations and backgrounds. Editing a question so that it conforms to standard English and presents itself in a standard and comprehensible way increases the ability of non-native English speakers to both benefit from and contribute to content on this site. Not only does this make content more easily understood in English, it makes a significant difference in the ability of software tools to translate content into other languages.
Seems to me that if a question is unclear, we should ask the poster to clarify, not just go ahead and edit it ourselves to our own understanding.
The policy on SE is that edits may clarify meaning but should never change meaning. When the precise meaning of a question is reasonably uncertain, it's appropriate to request clarification from the author, and sometimes to flag the post as "unclear what you're asking", but not to edit the post with your "best guess" of what the user means. Suggested edits that change or assign meaning to a question should be rejected in the review queue, and users that repeatedly make or suggest inappropriate edits should have those privileges revoked. If you see this kind of behavior, you should flag a related post for diamond-moderator attention and explain your concern in the area provided for comments.