Translated to English, 好多 means 'so much', while 很多 means 'very much' or 'a lot'. In the case of 好多 vs 很多, I've actually had no trouble just using whichever one sounds more like what I wanted to express translated in English.
Like Chris said, I would use 好多 when the amount is stunning/overwhelming/impressing/exceeding expectations. It doesn't have to be that much, just more than you thought there'd be, more than you'd like there to be, or more than you imagined.
However, 很多 can also be used in many situations where one might say 好多, just as there are many times 'so much' and 'very much'/'a lot' are interchangeable, and I don't think it matters that much.
I think the main difference is just the connotation. For example, when you say 'I drank so much' vs 'I drank a lot', 'You got so much' vs 'You got a lot', or 'Thanks so much' vs 'Thanks a lot', though the meaning is the basically the same, there's still a sort of difference.
I guess as far as correct goes, if you're talking then it just depends on if it matches what you wanted to say. If you're translating, and you have to write 'so much' but used 很多, though, I think it'd seem off and might be marked wrong.
Pertaining to regions, I have no idea.
I'm also an ABC, or maybe I should be called an ABT because my parents are both from Taiwan.