Просто вычтите одно из числа дня месяца:
var today = new Date();
var yesterday = new Date().setDate(today.getDate() - 1);
Если свойство date (день месяца) равно 1, то при установке его на ноль будет указана дата, представляющая последний день предыдущего месяца. Ваш код уже был довольно близок; Вы можете просто создать новый экземпляр Date:
if (d.getDate() === 1)
curr_date = new Date().setDate(0).getDate();
На самом деле вам даже не нужно выражение "если":
curr_date = new Date().setDate( d.getDate() - 1 ).getDate();
и это сработает в любой день месяца.