While they both celebrate the harvest which plays a great part in why they are different days it also has to do with how the two holidays have a different history. The US has the story of the Native Americans helping out the pilgrims and as a way to celebrate the harvest, and the American holiday spread out across the american colonies and eventually to the US. Canada on the other hand does not have that story as the base of their thanksgiving. Canada had some amount of celebration back when it was a French Colony and after England acquired it they continued to celebrate it, it should be noted that different parts of Canada observed it at different times. After the American Revolution many loyalist escaped to Canada from the newly independent US and brought some of their thanksgiving traditions. the dates for the celebrations jumped around a lot, including sometimes having it in early summer but eventually it did go back to the harvest festival celebration and back to being in the fall.
This brings me back to your question of they are both celebrating the harvest shouldn't they be at the same time? Well no because crop harvesting is not the same time everywhere in the world. Canada is north of the US and thus on average their time for harvesting is earlier then in the US so it makes sense that their celebration is earlier too.
I feel I should also note that the day of Canadian Thanksgiving wasn't set to the 2nd Monday of October until 1957, before that the date often jumped around, and the American Thanksgiving wasn't given the date of the 4th Thursday of November until 1941.