The problem is that HTML does not have a container that has semantic information.
For example:
First part of some level 2 text
Level 3 text
Second part of the level 2 text
The last section cannot be marked up as the same level 2 as first section.
It should have a structure like this:
First part of some level 2 text
Level 3 text
Second part of the level 2 text
As the semantic markup has an opening (the header), but no closing, it ends the heirarchical level only when a new header is encountered.