Give this one a go, I've changed the date part of the formula so that it should always run for the correct period based on today's date (the bit in bold).
=IF(DATEDIF(MINIFS($B$2:$B$10,$A$2:$A$10,A2),EOMONTH(WORKDAY(TODAY(),1),-1),"M")<13,"New",IF(COUNTIFS($A$2:$A$10,A2,$D$2:$D$10,"<>closed")=0,"Closed",IF(SUMIFS($C$2:$C$10,$A$2:$A$10,A2)<0,"out","in")))
Effectively it always looks at the previous month based on TODAY(), but if TODAY() is the last weekday of the month then it will advance it to the current month.