Month is probably a data variable with a format applied. SQL doesn't aggregate at the formatted values, but PROC MEANS will. Can you use one of the summary procs instead?
Otherwise, you can also apply the format to your code.
Not sure if you need the calculated key word in the GROUP BY or not....
Something like the following works but I would also highly recommend PROC MEANS instead.
proc sql;
select customer, put(month1, monyy5.) as month, round(sum(amount),.01) as amt from capstone.spend
where customer ='A1'
group by customer, calculated month;
quit;
proc means data=capstone.spend SUM NWAY maxdec=1 STACKODS;
where customer='A1';
CLASS Customer Month;
var amt;
ods output summary = want;
run;