Have a look at this and see if you can adapt it to your needs. It takes in a start and end date, and then uses these to calculate the number of months in between, and then uses this to populate a repeat group for each month, labelled with their corresponding month name ("Jan", "Feb", ...). It wasn't quite clear from your description whether these needed to be whole months or not - depending on the specific start and end day in each month - so you might need to add 1 to the total months as appropriate.
It should accommodate spans of multiple years.
months.xlsx (9.3 KB)
(adapted from Calculate age in years, months and/or days ... )