Macbeth remains a popular choice in high school English programs for several reasons. For a Shakespearean drama, it is fairly easy to understand, as the plot is straight forward and easy to follow with its absence of subplots. Its characters are very memorable, especially Lady Macbeth. There are numerous famous speeches in the play that offer an excellent opportunity to study the elements of poetry. The supernatural elements in the play add intrigue and suspense to keep students reading. Also, the themes and relationships found in Macbeth remain very relevant today, which can lead to interesting class discussions.
Not every high school requires Macbeth specifically, but most American high school English curricula require some Shakespeare study. His plays contain universal themes and provide the opportunity to study poetry, drama, and classic literature all at once. They are also intellectually challenging.
When I have taught Macbeth for high school students, I like to tie it with pop culture icons that they have shown me that remind them of the themes. Some of these include the song "Guilty Conscience" by Dr. Dre and Eminem, as well as the film Men of Respect, which is Macbeth retold as a Mafia story.
I don't think Hamlet is a requirement because not too many schools study it because of its length. Macbeth is preferred because of its length and universal themes.
The one thing that can be said about Shakespeare is that his works are critically acclaimed and critically analyzed, professionally written about, and his works offer everlasting themes about the truth in people. Many of his works can easily be read and understood, and performing them can give students opportunities that they otherwise would not have had.