Я думаю, вы должны взглянуть на функцию rrule из библиотеки dateutil.
Это должно дать вам то, что вы ищете, но я пока не могу проверить это.
from datetime import datetime
from dateutil.rrule import rrule, MONTHLY
len(list(rrule(MONTHLY, bymonthday=(25), dtstart=PlanModel.date_created, until=datetime.now())))
Если вы не хотите использовать эту библиотеку, я бы повторял по дням, просматривая номер каждого дня, что-то вроде этого (не смог проверить и это тоже)
from datetime import timedelta, datetime
def daterange(start_date, end_date):
for n in range(int ((end_date - start_date).days)):
yield start_date + timedelta(n)
start_date = PlanModel.date_created
end_date = datetime.now()
if start_date.day == 25:
c=1
else:
c=0
for single_date in daterange(start_date, end_date):
if single_date.day == 25:
c+=1