You are saving only one image and one image caption. Your loop in dsslider_manager_save_extras function loops throught global $custom_meta_fields defined in php file. Not through $_POST variable. Your loop should look something like this:
foreach ( $_POST['fields'] as $field ) {
...
}
In HTML, the form should look like this
<input type="hidden" name="fields[$field[ID]]" value=""/>
You can read more on this topic here: https://stackoverflow.com/questions/2433727/submitting-a-multidimensional-array-via-post-with-php