Quizás fue un problema de comprensión lectora, pero no vi nada en el mensaje original que mostrara que era ese el requisito.
El código que coloqué antes no solamente muestra el último día del mes, sino que devuelve el último día de (hoy + N meses), lo cual es lo que se buscaba.
De todas formas creo que no hay ninguna dificultad extra al usar objetos de tipo timedelta() ya que el cálculo de meses es lo único que específicamente se niega a hacer. Para solucionarlo, usas el módulo
dateutil o el módulo
calendar, con el que podés obtener el número de días de un mes y el primer día de semana.
Saludos.