Showing a different gallery in a seperate post

You can try this function instead of your multi_gallery_shortcode():

function multi_gallery_shortcode($atts, $content=null) {
    extract( shortcode_atts( array(
                'pid' => 0,
        ), $atts ) );

    //format the input
    $pid = intval($pid);

    // construct a post object dependent on the input value
    if($pid>0){
        // query a post object
        $pobj = get_post( $pid );
    }else{
        global $post;
        // current post object
        $pobj = &$post;
    }

    // construct gallery title
    $gallery_title = $pobj->post_title; // customize to your needs

    // construct gallery url
    $gallery_url = ""; // default first image gallery url
    $attributes = wp_get_attachment_image_src( get_first_gallery_image($pobj->ID),'thumbnail'); // customize  to your needs
    if(isset($attributes[0]))
        $gallery_url = $attributes[0];

    // format output:
    $before     = sprintf('<div class="gallery-before"><a href="https://wordpress.stackexchange.com/questions/95109/%s">%s</a></div>', $gallery_url , $gallery_title );
    $gallery_sc = sprintf('',get_random_gallery_images($pobj->ID));
    $after      = sprintf('<span class="galNum">%d</span> Photos.', get_total_attachments($pobj->ID));

    return $before.do_shortcode($gallery_sc).$after;
}

where you use it like this in your posts/pages:

[multigallery pid="1234"]

where pid is the post id.