It's simple. Greyhound has ended its service to Western Canada because it doesn't make enough money to satisfy the company's corporate mission: to make a profit. Trying to guilt this corporate giant into being nice to the poor or indigenous communities is unlikely to work, unless it can see a marketing opportunity, and so far it doesn't and is unlikely to, since profit is its purpose.
Serving the mobility needs of the economically disadvantaged is a public responsibility and must be made a public priority. The state must, and could, provide such services through taxation, like other social services. Saying that the service, when offered, does not make money is a category error; a social service, be it healthcare or education, or in this case need-based transportation, does not exist to make money. As a community we provide such public goods to serve people, not as charity but as a necessity for social well-being and capacity. Even a social enterprise, should one be found that would provide the service in question here, is an inferior option because it would be a discretionary, even if laudable, provision, dependent on a charitable motive.
The ability to travel to basic social services, like healthcare or education, should be a right for those who need them, otherwise the right to the services themselves is denied. School buses are the relevant example. Free busing to necessary service locations for those without other options is simply an extension of the same principle. Rights without means are not rights at all. Time for Canadian political parties to step up. This Greyhound story is just another example of how private interests cannot support public purposes. Greyhound moves in a different direction from public good.