It's because of the way controls and "themes" work. Simplest explanation, the string you put in that first argument isn't just whatever you want to call it, it's telling it WHICH font you want to override.
Fonts in controls are "theme items". What that means is all theme items default to whatever the "theme" sets that item to. Helpful for making broad changes to control objects across your whole project, but when you want to change an individual item of an individual control, you give that control an "override".
For example, Buttons have several "color" theme items, such as "font_color" and "font_color_pressed", for when it's just doing nothing and when it's being pressed, respectively. So if I wanted to change "font_color_pressed", I'd use
Now, this is a little silly with fonts, since I don't think there is any control that HAS more than one font property, and therefore you just end up telling it to override the font named "font". Again simplest explanation, it's this way because we want fonts to be part of themes.