I doubt whether lack of education or ignorance is the whole cause, or even the main cause. People who hold this view believe that these people want to speak standard English, and would if they could. There's no evidence for this.
The type of language a person speaks points to their identity. If a group of people do not feel comfortable identifying with the educated elite, or those in power, they might quite consciously adopt a language variant different from the standard. This is evident in Black American English, for example.
It's quite wrong and arrogant to suggest that a native English-speaking person who doesn't speak standard English is somehow ignorant of standard forms, or being deliberately perverse as some people suggest.