I used Set quantity minimum, maximum and step at product level in Woocommerce answer code to implement min, max and step quantity on WooCommerce products.
Then I tried adding a new selector with 2 options and show it before Add to cart button. So, adding to the code:
woocommerce_wp_select( array(
'id' => 'tip_produs', // required
'label' => __( 'Unitate produs', 'woocommerce' ), // Text in Label
'class' => 'tip_produs',
'options' => array(
'set' => 'Vand la set',
'buc' => 'Vand la buc',
),
'desc_tip' => 'true',
'description' => 'Alege daca produsul se vinde la bucata sau la set.',
'value' => $tip_produs, // <== POPULATING
));
The select item appears but I don't know how to save the value and show it correctly.
I have tried to use $('#tip_produs:selected').text();
but the option doesn't have selected="selected" attribute…
To show it on frontend I use this hook that works well when tested with:
add_action( 'woocommerce_after_add_to_cart_quantity', 'bbloomer_echo_qty_front_add_cart' );
function bbloomer_echo_qty_front_add_cart() {
echo '<span class="qty-suff">text</span>';
}

I have updated the code of Set quantity minimum, maximum and step at product level in Woocommerce answer, including your "quantity unit" selector (displays the select field, save the selected value and display it in single product pages)
The complete revisited code:
Code goes in functions.php file of your child theme (or in a plugin). Tested and works.