administrator\components\com_virtuemart\models\customfields.php
line 961
$group->display .= '<input id="' . $productCustom->virtuemart_custom_id .$row. '" ' . $checked . ' type="radio" value="' .
$productCustom->virtuemart_customfield_id . '" name="customPrice[' . $row . '][' . $productCustom->virtuemart_custom_id . ']" /><label
for="' . $productCustom->virtuemart_custom_id .$row. '" class="other-customfield">' . $this->displayProductCustomfieldFE ($product, $productCustom, $row) . ' ' . $price . '</label>';
in this foreach cycle $row will be the same in every iteration.
as a result, al labels on product details page is for first input id
Please try
$group->display .= '<input id="' . $productCustom->virtuemart_customfield_id .$row. '" ' . $checked . ' type="radio" value="' .
$productCustom->virtuemart_customfield_id . '" name="customPrice[' . $row . '][' . $productCustom->virtuemart_custom_id . ']" />;
id="' . $productCustom->virtuemart_customfield_id .$row. '" '
For myself, I have decided the issue, adding another variable in the foreach loop. Since this problem does not bother me (at least until the next update).
However, it would be worth it to fix in a future release.
Thank you.
Next update I want to use Elements and make them overridable. So everyone can decide himself.
What is "Elements" in your current implementation? I'm not sure I understand you correctly.