Get all images from posts with maximum number and without featured image

Try this:

$image_count = 0;
$max_images = 10;  //set this to the max number of images you want.
$ids = get_posts( array( 'post_type' => 'post', 'posts_per_page' => -1 ,'fields' =>'ids') );
if (count($ids) > 0){
    foreach ($ids as $id){
        while ($image_count < $max_images){
            $args = array(
                'post_type'   => 'attachment',
                'numberposts' => -1,
                'post_status' => null,
                'post_parent' => $id,
                'exclude'     => get_post_thumbnail_id($id)
            );
            $attachments = get_posts( $args );
            if ( $attachments ) {
                foreach ( $attachments as $attachment ) {
                    if ($image_count < $max_images){
                        echo '<dl class="gallery-item">
                            <dt class="gallery-icon">
                                <a rel="shadowbox[sbalbum-1];player=img;" href="' . get_permalink($attachment->ID) . '">'. wp_get_attachment_image( $attachment->ID ) . '</a>
                            </dt>
                         </dl>';
                         $image_count = $image_count + 1;
                    }
                }
            }
        }
    }
}

which is about the same as the example in the codex (Show All attachments for the current post beside Thumb ) combined with your code (almost) to get All attachments for all posts.

Mind the first query is changed to a get_posts() function with the parameter fields set to ids to get only the ids of the posts since you don’t really need the rest of the data, and is much much faster.