How to have times fields for 1 selected day and no time fields for multiple days?

You need to define the times selection in booking form at the Booking > Settings > Form page in a way like this:

<p class="times_section">Select Start times:<br />[select starttime class:start_selection "All day(s) booking@@00:00" "08:00" "08:30" "09:00" "09:30" "10:00" "10:30" "11:00" "11:30" "12:00" "12:30" "13:00" "13:30" "14:00" "14:30" "15:00" "15:30" "16:00" "16:30" "17:00" "17:30" "18:00" "18:30" "19:00" "19:30" "20:00" "20:30" "21:00"]</p>
<p class="times_section time_duration_section">Select time duration:<br />[select durationtime class:duration_selection "All day booking@@24:00" "1 hour@@01:00" "2 hours@@02:00" "3 hours@@03:00" "4 hours@@04:00" "5 hours@@05:00" "6 hours@@06:00" "7 hours@@07:00" "8 hours@@08:00" "9 hours@@09:00" "10 hours@@10:00"]</p>

Please note, here is trick in start time selection. First option configured like this:
"All day(s) booking@@00:00"
Where value for this option "00:00" is means that entire day will be booked (its internal logic of Booking Calendar plugin).

2) Also you need to add custom JavaScript code, that will show the "duration of time", only in case, if you will select other value than "All day booking", and hide the times fields from the booking form, at all, if you select more than 1 day:

<script type="text/javascript">
    jQuery('.start_selection').on('change', function() {
       var start_time = jQuery(this).find(":selected").val();
	   if ( '00:00' == start_time ) {
       	  jQuery('.time_duration_section').hide();
		  jQuery('.duration_selection').val( '24:00' );
		  jQuery('.time_duration_section option:first').css('display', 'block');
	   } else {
          jQuery('.time_duration_section').show();
          jQuery('.duration_selection').val( '01:00' );
		  jQuery('.time_duration_section option:first').css('display', 'none');
	   }
     });
     jQuery(document).ready(function(){
		jQuery('.start_selection').val( '00:00' );
		jQuery('.duration_selection').val( '24:00' );
		jQuery('.time_duration_section').hide();
     });
     jQuery( ".booking_form_div" ).on('date_selected', function(event, bk_type, date) {
                   if ( ! jQuery( this ).is( ':visible' ) ) {
                      return false;
                   }
                   var dates_count =  date.split(',');
		   dates_count = dates_count.length;
		   if ( dates_count > 1 ) {
		       jQuery('.start_selection').val( '00:00' );
		       jQuery('.duration_selection').val( '24:00' );
		       jQuery('.times_section').hide();
		   } else {
		       jQuery('.start_selection').val( '00:00' );
		       jQuery('.duration_selection').val( '24:00' );
		       jQuery('.times_section').show();
			   jQuery('.time_duration_section').hide();
		   }
		 if (typeof(showCostHintInsideBkForm) == 'function') {
               showCostHintInsideBkForm( bk_type );
         }
     });
</script>

So full minimum booking form configuration can look like this:

[calendar]
<div class="form-hints">
          Dates:[selected_short_timedates_hint]  ([nights_number_hint] - night(s))<br><br>
          Full cost of the booking: [cost_hint] <br>
</div><hr/>
<div class="times-form">
	<p class="times_section">Select Start times:<br />[select starttime class:start_selection "All day(s) booking@@00:00" "08:00" "08:30" "09:00" "09:30" "10:00" "10:30" "11:00" "11:30" "12:00" "12:30" "13:00" "13:30" "14:00" "14:30" "15:00" "15:30" "16:00" "16:30" "17:00" "17:30" "18:00" "18:30" "19:00" "19:30" "20:00" "20:30" "21:00"]</p>
	<p class="times_section time_duration_section">Select time duration:<br />[select durationtime class:duration_selection "All day booking@@24:00" "1 hour@@01:00" "2 hours@@02:00" "3 hours@@03:00" "4 hours@@04:00" "5 hours@@05:00" "6 hours@@06:00" "7 hours@@07:00" "8 hours@@08:00" "9 hours@@09:00" "10 hours@@10:00"]</p>
<script type="text/javascript">
    jQuery('.start_selection').on('change', function() {
       var start_time = jQuery(this).find(":selected").val();
	   if ( '00:00' == start_time ) {
       	  jQuery('.time_duration_section').hide();
		  jQuery('.duration_selection').val( '24:00' );
		  jQuery('.time_duration_section option:first').css('display', 'block');
	   } else {
          jQuery('.time_duration_section').show();
          jQuery('.duration_selection').val( '01:00' );
		  jQuery('.time_duration_section option:first').css('display', 'none');
	   }
     });
     jQuery(document).ready(function(){
		jQuery('.start_selection').val( '00:00' );
		jQuery('.duration_selection').val( '24:00' );
		jQuery('.time_duration_section').hide();
     });
     jQuery( ".booking_form_div" ).on('date_selected', function(event, bk_type, date) {
                   if ( ! jQuery( this ).is( ':visible' ) ) {
                      return false;
                   }
                   var dates_count =  date.split(',');
		   dates_count = dates_count.length;
		   if ( dates_count > 1 ) {
		       jQuery('.start_selection').val( '00:00' );
		       jQuery('.duration_selection').val( '24:00' );
		       jQuery('.times_section').hide();
		   } else {
		       jQuery('.start_selection').val( '00:00' );
		       jQuery('.duration_selection').val( '24:00' );
		       jQuery('.times_section').show();
			   jQuery('.time_duration_section').hide();
		   }
		 if (typeof(showCostHintInsideBkForm) == 'function') {
               showCostHintInsideBkForm( bk_type );
         }
     });
</script>
     <p>First Name (required):<br />[text* name] </p>
     <p>Last Name (required):<br />[text* secondname] </p>
     <p>Email (required):<br />[email* email] </p>
     <p>Adults:  [select visitors class:col-md-1 "1" "2" "3" "4"] Children: [select children class:col-md-1 "0" "1" "2" "3"]</p>
     <p>[submit class:btn "Send"]</p>
</div>