Ни непосредственно месяца, ни непосредственно года задать с помощью timedelta нельзя, и это понятно. Год может быть 365 и 366 дней, а месяц - 28,29,30 и 31.
Тем не менее обойти это можно. Ниже один варинат на чистом datatime, а остальные - с привлечением других библиотек.
Показываю на примере года. Думаю, с месяцем разберетесь сами по аналогии
import datetime as dt
from dateutil.relativedelta import relativedelta
import pandas as pd
d1=dt.datetime(2021, 5, 16)
print ('d1==',d1)
d2=d1.replace(year=d1.year+1)
print ('d2==',d2)
d3=d1+relativedelta(years=1)
print ('d3==',d3)
d4=d1+pd.DateOffset(years=1)
print ('d4==',d4)
Результаты:
d1== 2021-05-16 00:00:00
d2== 2022-05-16 00:00:00
d3== 2022-05-16 00:00:00
d4== 2022-05-16 00:00:00