Barry, I afraid that yours marks the first day of the month only, not the first day of the month in the list.
# none will be marked with the sample in the original post.
Here is my method with one supplemental column of data by assuming the dates are in ascending order.
# as far as I know no formula can be used for conditional highlighting.

New column C, labeled as FirstDate hold the first date of the month on the list.
1. Add new column (C) if not exist
2. Set formula for C2 :
IFERROR(IF(EOMONTH(B1,0)=EOMONTH(B2,0),C1,B2),B2)
- EOMONTH() returns the last day of the month for the given date
- IFERROR() handles the first record where no valid date in the previous row.
3. Copy 'C2' then paste to C3 and beyond.
4. Select B2. Set conditional high as 'equal to' , [reference C2] (use the blue button in the input field to select C2)
5. Copy-Style 'B2' (opt-cmd-C), then Paste-Style (opt-cmd-V) to B3 and beyond.