It’s because you have typos in your code :
in the function called header_logo_validate()
it should be :
return $new_input;
EDIT:
add_action( 'admin_menu', 'ec1_admin', 10, 0 );
args are useless just write add_action( 'admin_menu', 'ec1_admin');
EDIT 2 :
This is not a correct way to add several fields. You should put this into arrays or in one callback.
Maybe you need to globalize $settings (write global $settings;
) to make esc_url()
work in this context, see this answer