Checkbox’s used to be 2 parts: the box and the text that acted as a label.
Now a checkbox comes with a native label you turn on and off, so it acts as 1 element instead of 2.
If I had to guess why the label cannot be modified via API is either because they forgot to code it OR they couldn’t figure it out. There are other places with little inconsistencies like this one …where one can do it but not another.
So … if you need distinct labels, add a text element next to the checkbox and code that instead.