If you want to count by months then use DATE values and not digit strings.
%macro dt(start,end);
%local date_start date_end offset date;
%let date_start=%sysfunc(inputn(&start,yymmn6.));
%let date_end=%sysfunc(inputn(&end,yymmn6.));
%do offset = 0 %to %sysfunc(intck(month,&date_start,&date_end));
%let date=%sysfunc(intnx(month,&date_start,&offset),yymmn6.);
%put &=offset &=date ;
%end;
%mend ;
%dt(start=201910,end=202003);
Results:
OFFSET=0 DATE=201910
OFFSET=1 DATE=201911
OFFSET=2 DATE=201912
OFFSET=3 DATE=202001
OFFSET=4 DATE=202002
OFFSET=5 DATE=202003