Using colons and semi-colons in dialogue
Speech is definitely different from formal writing, and trying to formalize the punctuation in dialogue seems (to me, personally) to take away the human element there.
As a grammar enthusiast, I can appreciate your effort to try to choose the best punctuation for the sentence itself, but within dialogue, I think you have to be a little more forgiving in order to communicate the flow of speech rather than the structure of the sentence.
Here is how I'd write each of those sentences:
"I told you, John doesn't work on Mondays."
"Don't worry, I only get drunk on Sundays."
I think a semicolon would be pretty awkward there. Period vs. comma would be up to the writer and what the intended flow of the sentence is.
"I’ll do anything it takes – rehab, counseling, therapy – whatever I need to do."
I think the dash works better here and is in general better than a colon in dialogue. I've taken to using space en-dash space
rather than an em-dash with no spaces as a matter of personal style; it just plain looks better.
"It's an article about all the types of things you hate – the environment, animal rights, veganism – that kind of thing."
"Trust me, the WASPy stuff is nothing in comparison."
Again, I'd use comma instead of semicolon since it's dialogue.
"Those things I said – I didn't mean a word of them."
I'm confused by your question. A dash is supposed to be used when there is a fragment followed by a clause like that.
"I know you – that place would haunt you."
I prefer a dash here.
Again, my comments and opinions are definitely aimed at dialogue, not formal punctuation rules.