No, in general it is not correct to hyphenate certain prefixes, co-, pre-, mid-, de-, non-, anti-, etc. You therefore write preordain instead of pre-ordain, antidote instead of anti-dote, and midnight instead of mid-night.
You don't. The way you have it written in the question is correct.
Always!
Don't hyphenate; ongoing is one word.
You do not generally hyphenate the word stepchild, because it is not a hyphenated word. If the question is where to hyphenate stepchild if you have to break it across two lines, it is not difficult to determine this, because the two syllables are actually separate words: step and child. If you have to hyphenate the word to break it, you would put step- on one line and child on the next. If the word is all on one line, you do not hyphenate it.
The correct spelling is 'hyphen'.
If possible the general rule is to hyphenate the word where the syllables join. If a word has no syllables do not hyphenate just carry the entire word to the next line. (e.g.: Chari-table Foundation)
The word mundane has no connection with the word midnight, except, perhaps, as a title selected because the words do not go together.
Can you, or should you? You can hyphenate it if you're moving between lines in a paragraph and need to break up the word. You shouldn't hyphenate it normally.
You would hyphenate "thank you" when it is used as an adjective before a noun, such as in "a thank-you card."
No, you do not hyphenate a double consonant word when it is used in a compound word or as part of a phrase. The double consonant remains intact.
You don't
Yes, it is correct to hyphenate "modern-day" when it is used as an adjective to describe something that pertains to the present or current time period. For example, "modern-day technology" or "modern-day issues."