It's because the Date() function formats for display but does not modify the internal value. The values of Datum still contain different days of the month, so are different values. When you create Dataum, you want to harmonize all the values to the first day of the month using MonthStart().