This
$custom_post->product_variations
will return nothing. The repeater field in not a property of a WP_Post object.
To get an array for the repeater you would need to do
$value = get_field('product_variations', $custom_post->ID);
So if I understand what you want to do (which I’m not sure I do) then the line should be
if ((get_field('product_variations', $custom_post->ID)) $options[] = ['text' => get_field('product_variations', $custom_post->ID), 'value' => 'yes-array'];