The express buses do have the ability to charge local fares, but the driver has to hit a button on the farebox at the request of the passenger. In general*, fares on public transit should be solely based on distance, not type/speed of service. That allows riders to choose which service is best for the trip they're making. On a public service - particularly local/regional transit where most riders are frequent, passengers should never be in the position of having a financial incentive to have a longer commuter to save a few bucks. That ends up being effectively a regressive tax.
The 34E is a weird case. Only a small number of bus routes reach outside 128 (roughly the arbitrary zone inside which a flat fare would be reasonable) from points substantially inside 128, such that under any distance-based system they would be more than the base fare. Even fewer directly parallel commuter rail routes with higher fares - it's really just the 34E, 137, 238, 240, 450, and 455. In a world with frequent regional rail and fares intended for public benefit, these routes would pretty must just be for local passengers and feeding the CR. Again, passengers shouldn't be incentivized to choose them just to save money.
*For infrequent trips such as intercity service, especially when there is fixed capacity, this is a bit less of the case. I'm more okay with the Acela being more expensive than the Northeast Regional, especially since there's a difference in experience above the basic quality that all transit should meet. If the Acela tends to fill up and the Regional doesn't, then the Acela pricing should simply be used to shift excess demand to the Regional.** Similarly, I'm okay with price being used to shift Providence-Boston demand to the MBTA if those seats would otherwise be filled by intercity passengers.
**If Acela fares are high enough that they're not filling up even if there would be sufficient demand at a lower price, then the higher price is simply shifting passengers to a lower-quality mode, which benefits no one.