For achieving this we need to build the $options array in a way that each key-value pair represents the label and the value for the select field.
Here is the updated code, which you need to use instead of your code.
function populate_itnday_select_field( $field ) {
// Here we have Initialize the options array.
$options = array();
// Here we are checking if the flexible content field has rows of data.
if ( have_rows( 'rec_data' ) ) {
// Loop through the rows.
while ( have_rows('rec_data') ) {
the_row();
// Here we are checking if the current layout is the one we want to extract data from.
if ( get_row_layout() == 'pageday_title' ) {
// Here we are getting the label and value.
// Here we are assuming 'daytitle_headline' is the label and you need a unique value for the select options.
$dayTtlNav = get_sub_field('daytitle_headline');
// Here we are using the label as both key and value.
$options[ $dayTtlNav ] = $dayTtlNav;
// Here we can modify the key, If we need a different value.
// $options[$unique_value] = $dayTtlNav;
}
}
}
// Here we have set the select field choices.
$field['choices'] = $options;
return $field;
}
add_filter( 'acf/load_field/name=int_event_day', 'populate_itnday_select_field' );