Why would you compare DATETIME values (number of seconds) to DATE values (number of days)?
So you are assuming that all of the dates are going to be in the 21st century?
You can convert your four digit strings, like 2407, into a DATE value by using the INPUT() function (or in macro code using the %SYSFUNC() function to call the INPUTN() function) by prefixing it with 20 to set the century and suffixing it with 01 to set the day of the month.
%let curr_dt = 2407 ;
%let today = %sysfunc(inputn(20&curr_dt.01,yymmdd8.));
You can convert a DATE value into a DATETIME value by using the DHMS() function.
%let now=%sysfunc(dhms(&today,0,0,0));
Or perhaps by just multiplying by the number of seconds in a day.
%let now=%sysevalf(&today*'24:00:00't);
You can use INTNX() to find when the next month starts.
where ClosedDT >= &now
and ClosedDt < %sysfunc(intnx(dtmonth,&now,1))