How to list all images used on a specific page?

The WP function get_attached_media() should provide the info you need.

If used in this way…

$media = get_attached_media( 'image' );

… the $media var should contain the wp_post objects for all attached images.

Function documentation in the WP Codex:
https://developer.wordpress.org/reference/functions/get_attached_media/