These settings only styles blocks that are not already styled.
Lets say that you have added two heading blocks:
H1 heading Hello world !
H1 heading Hello back !
You select “Hello back!” and you set its size to 22px.
Now you go to Editor -> Styles -> Typography -> Headings -> H1 to Size Large L
Only “Hello world” will be set to large.
This is intentional. The individual styling must not be overwritten, because that would mean the individual styles would not work, they would have no effect. Nothing would happen when you changed the styling of the individual block, and the controls would appear broken.
Another example with titles:
In a template, in the list of blog posts, you add a Title block and set it to be level H2, and you make it 26px large, bold, and use a serif font.
Then when you write your post, you use several H2 headings to structure your content.
You decided that you want all the H2 headings in your content to use a san-serif font.
Instead of selecting each heading individually, you want to style them all at the same time.
So you open Editor -> Styles -> Typography -> Headings -> H2. and change the font to san-serif and change the size to 24px.
If this had changed all headings with the H2 level, the style you selected for the Title block would break, because you want it to be 26px and use the serif font.
If the site wide, global styles would override the styles on the individual block, there would not be a way to have more than one style for the same heading level.