I think in general the name field (as opposed to label) is supposed to be unique but since the form doesn't expose the name field it computes it from the label, so if two labels are the same it would try to create a duplicate name. But I don't think it would really matter since only custom code would access it by name, and such custom code should create the price field to begin with and so can specify name. You can have two custom fields with the same name so why not price fields.
Thanks all then it seems like general agreement to remove the restriction and allow for duplicate labels. I have no idea how to do that myself, but I will contribute $100USD to the effort as a bounty.
Thanks @DaveD for the coaching but it's not my goal or skillset to make pull requests to core. I do offer bounties to those do, who if someone cares to PR and test, go right ahead. If there are no takers I will see if I can hire @AllenShaw