There have been several excellent, recent BBC treatments (repeated by the US PBS) of Shakespeare that are well worth tracking down and watching. This is a recent, excellent series examining individual plays. Shakespeare is simply that good; because of his brilliant ability to portray and examine human nature, his works are timeless. Language can be an obstacle for modern audiences, but when properly delivered, the language needn't be a problem, and then there are plenty of modern adaptations, all of which continue the momentum.
That is a literary explanation rather than a historical one, but at its core, the answer to your question has more to do with art than history. Of course, it doesn't hurt that Shakespeare wrote for a London audience, using a language that has become a dominant force in the modern world.