Why does England have as many as 37 regional dialects and accents?

As late as the 1930s there was relatively little communication between towns, even those quite close by. This meant that very localised dialects developed. Most agree there are around 37 dialects in England today. 

The English are very proud of their local accent as they see it as a means of retaining their identity. Gone are the days when the Queen’s English was regarded as the one perfect and desirable English accent. Mind you, this is still used as a social marker and it maintains its own prestige value.

When the British spread out to colonise other countries, everyone had to adapt in order to be understood by those around them. No single dialect dominated, so all speakers came to use a vocabulary of general words. This is why there are relatively fewer regional dialects and English accents in countries such as Canada, Australia and New Zealand.  

Reference: The Guardian