There are a number of reasons for this.
First off, historically there were more railroads covering a defined service area in the US than there were in Canada. That means that they had to compete harder with each other to get the business, and they were willing to take larger risks or approach more marginal markets, such as medium-to-long haul trailer-on-flatcar. Some of this mindset has remained today despite the concentration of routes into just a handful of railways in the past 50 years or so, although in some cases the business has remained simply because it was there in the first place.
Second off, there is just frankly more traffic/transport in the US than there is in Canada. There just isn't the same critical mass here.
Third is that a significant portion of the interstate highway network has tolls, versus the very small proportion of highways here. That means that the use of the train can also serve as a form of direct cost avoidance.
Finally - in spite of all this, there is actually a surprising amount of parcel traffic on Canada's railroads - it's just not as obvious as it looks at first blush. All of the couriers (including Canada Post) use private trucking firms to some degree for their long-haul services, and it's not uncommon for them to also use trains - although in this case its usually via domestic container, rather than a whole trailer - for some services. You won't see UPS or FedEx containers on a train, but you will see trailers from Arnold Brothers or Kindersley instead.
Dan