Чтобы получить все дни текущего месяца в указанном формате с названием дня недели, этого кода будет достаточно:
using System;
public class Program
{
public static void Main(string[] args)
{
int year = 2020;
int month = 3;
DateTime startDate = new DateTime(year, month, 1);
DateTime endDate = startDate.AddMonths(1);
while (startDate.DayOfWeek != DayOfWeek.Sunday)
startDate = startDate.AddDays(1);
for (DateTime result = startDate; result < endDate; result = result.AddDays(1))
Console.WriteLine(result.ToString(" dd.MM.yyyy dddd"));
Console.ReadLine();
}
}

Чтобы получить только определенную дату и день (например, понедельник) для каждой недели / всех недель текущего месяца в указанном формате, достаточно этого кода:
using System;
public class Program
{
public static void Main(string[] args)
{
int year = 2020;
int month = 3;
DateTime startDate = new DateTime(year, month, 1);
DateTime endDate = startDate.AddMonths(1);
while (startDate.DayOfWeek != DayOfWeek.Monday)
startDate = startDate.AddDays(1);
for (DateTime result = startDate; result < endDate; result = result.AddDays(7))
Console.WriteLine(result.ToString(" dd.MM.yyyy dddd"));
Console.ReadLine();
}
}