こんにちは
基本的に曜日は日付で一意に決定されるので、日付だけのハンドリングにして、
必要時に曜日を算定する方がシンプルかと思います。
そのためデータ2に関してはDictionaryにするのではなく、対象日付を
リストあるいは配列すれば十分かと思います。
データ1の各行の日付を評価して、「土曜日」または「日曜日」または「上記リスト中に日付がある」の
いずれかに該当すれば、1日加算して、再度評価します。
上記に該当しない日が平日ですので、それを書き戻します。
これらをまとめると、例えば以下の様に実装できると思います。