Hide disclaimer from summary excerpts

You could do something like this:

/* Add disclaimer to top of POSTS that contain affiliate tag */
function tt_filter_the_content( $content ) {
    if (has_tag('affiliate') && is_single())
    $custom_content="<hr><p><em>Disclosure: This post contains affiliate links and we may receive a referral fee (at no extra cost to you) if you sign up or purchase products or services mentioned.</em></p><hr>";
    $custom_content .= $content;
    return $custom_content;
}
add_filter( 'the_content', 'tt_filter_the_content' );

Now you are checking if the tag exists and if it’s a single post. If this still shows up in the feed, then you can change the if statement to something like:

if ((has_tag('affiliate') && is_single()) && !is_feed())