There are a variety of reasons. One is linguistic drift: languages naturally change over time in pronunciation and meaning. 1,000 years seems to be the limit of mutual intelligibility. If you met someone from 1024 AD, even if you spoke the “same” language, you wouldn’t understand each other.
Another is isolation: when people talk with the same group of people and talk a lot less with outsiders, there’s nothing to anchor the natural linguistic drift away from a common sound.
There’s also migration: you can hear hints of past waves of immigration in regional accents. Listen to people from Minnesota in the US and you can hear inflection and vowel formation like their nordic ancestors used.
And there’s regional identity. Lots of people in the southern US feel like southerners and they’re perfectly happy to sound like southerners. They don’t necessarily want to talk like someone from somewhere else.