Date plotting seems to be broken in dash plotting framework
Perhaps the second date should be a timedelata, rather than a datetime. Internally Python's datetime objects are referenced to Jan 1 1970 (see Unix Time). So that is about 47 years ago. The difference between the start and end of your bar looks to be on this order, so I think it is interpreting the end date wrong.
Perhaps try:
max_month = max(month_list) - min_month
See if that helps.