Loop through posts by each term and exclude duplicate posts assigned to several terms

value is not a valid parameter for get_posts and the tax => slug meta query pattern is long since deprecated, as has been numberposts. Even if value was valid it is hard to see how passing a literal date(yyyy-mm-dd) to it would work.

At any rate, I believe that applying a posts_groupby filter would do this. From the Codex:

add_filter( 'posts_groupby', 'my_posts_groupby' );
function my_posts_groupby($groupby) {
    global $wpdb;
    $groupby = "{$wpdb->posts}.ID";
    return $groupby;
}

That will force posts to only show up in once in the results.