WP Query with multiple tags by get the tags

If you read the Codex entry, you must pass an array as tag_slug__in. In this case though, I would use tag__in with IDs rather than slugs:

$tag_ids = array();
foreach( get_the_tags($post->ID) as $tag ) {
    $tag_ids[] = $tag->term_id;
}
$recent_posts = new WP_Query(
    array(
        'tag__in' => $tag_ids,
        'posts_per_page' => 2,
        'cat' => 20
    )
);