Why are the labels for two different form elements so different? Can I make them the same?
The differences here come down to the differences in the two types of form elements.
From the MDN docs for the label element:

The HTML  element represents a caption for an item in a user interface

From the MDN docs for the legend element:

The HTML  element represents a caption for the content of its parent .

Looking at the example from the legend documentation, we see how the two types of elements, labels and legends, are semantically different.
&lt;fieldset&gt;
    &lt;legend&gt;Choose your favorite monster&lt;/legend&gt;

    &lt;input type=&quot;radio&quot; id=&quot;kraken&quot; name=&quot;monster&quot;&gt;
    &lt;label for=&quot;kraken&quot;&gt;Kraken&lt;/label&gt;&lt;br/&gt;

    &lt;input type=&quot;radio&quot; id=&quot;sasquatch&quot; name=&quot;monster&quot;&gt;
    &lt;label for=&quot;sasquatch&quot;&gt;Sasquatch&lt;/label&gt;&lt;br/&gt;

    &lt;input type=&quot;radio&quot; id=&quot;mothman&quot; name=&quot;monster&quot;&gt;
    &lt;label for=&quot;mothman&quot;&gt;Mothman&lt;/label&gt;
&lt;/fieldset&gt;

Each radio button has its own label element with text describing it. Meanwhile, the set of radio buttons is wrapped in a fieldset with a legend element to describe the group as a whole.
While you may be able to alter the markup for your radios, to replace the legend element with a label, you should not, especially if you're trying to build an accessible website (and you should be). This answer to Is it good practice to use  for non-input/non-interactive elements? provides a more detailed explanation for why you shouldn't use a label in a context like this.