Media section is provided by default by WP and seems it didn’t have filter to make those fields required. Making those changes in core files will be bad idea.
What we can do is that, whenever image is uploaded, based on image name, we can fill the meta data so that we can make sure they are not empty.
Paste below code in your theme’s functions.php file
add_action( 'add_attachment', 'set_image_meta_data_on_upload' );
function set_image_meta_data_on_upload( $post_ID ) {
// Check if uploaded file is an image, else do nothing
if ( wp_attachment_is_image( $post_ID ) ) {
$image_title = get_post( $post_ID )->post_title;
$image_title = preg_replace( '%\s*[-_\s]+\s*%', ' ', $my_image_title );
$image_title = ucwords( strtolower( $my_image_title ) );
$image_meta = array(
'ID' => $post_ID,
'post_title' => $image_title,
'post_excerpt' => $image_title,
'post_content' => $image_title,
);
update_post_meta( $post_ID, '_wp_attachment_image_alt', $image_title );
wp_update_post( $image_meta );
}
}
If you wish, later you can change the meta data as per your choice.
Let me know if that works for you.