How to attach images that I “insert from url” into the post?

A quick experiment with WordPress 3.5.1 shows that when you an image into post from URL, there’s no post inserted into the wp_posts or wp_postmeta table – which is why the $images array is coming back empty.

You could write some JS on the admin side to create and insert a post asynchronously when you click the insert into post button – otherwise, you could use some Regex with get_the_content() to pull them from the content, which is likely more complicated and less reliable.

EDIT Below is only applicable when uploading media and attaching to posts.

Straight from the WordPress Codex wp_get_attachment_image page:

To display all of the images and titles attached to a certain page and
display them as a list of bullets you can use the following:

<ul>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();    

 $args = array(
   'post_type' => 'attachment',
   'numberposts' => -1,
   'post_status' => null,
   'post_parent' => $post->ID
  );

  $attachments = get_posts( $args );
     if ( $attachments ) {
        foreach ( $attachments as $attachment ) {
           echo '<li>';
           echo wp_get_attachment_image( $attachment->ID, 'full' );
           echo '<p>';
           echo apply_filters( 'the_title', $attachment->post_title );
           echo '</p></li>';
          }
     }

 endwhile; endif; ?>
</ul>