But why does it need to be on the train? Ideally, in a full proof-of-payment system, you'd want fares to be purchased before they board so a random check couldn't be easily circumvented by buying your ticket once you see them checking tickets.
There is no such thing as a fool-proof Proof of Payment system. You don't want one. The cost of maintaining one is far greater than what you would recover from it.
You have to consider how Metra already operates. People are already accustomed to purchasing tickets in advance, purchasing tickets on a smartphone or purchasing tickets on the train. Conductors come through the train almost exactly like Amtrak conductors and check off each seat with the destinations. Most of the trips on Metra are either from the terminus or to the terminus, so you don't have a great deal of on-off traffic like on BRT. Metra Conductors are primarily fare collectors and don't really have much to do with the operation of the train other than operating the doors. They don't operate on a PoP system--they collect all the tickets.
BRT is an entirely different thing from commuter rail. Most trips are not to or from the terminus. People might be getting off at the next stop. In these cases, you absolutely DO want fareboxes at each station, probably multiple fareboxes in places where there's a stadium, etc. BRT stations are also probably closer together or in urban enough areas where you don't have as much of a risk of tampering as you would in other stations. BRT also is probably much more likely to be casually used than METRA rail.
The cost of putting ticket kiosks in every station on a commuter rail network is prohibitive, relative to the density of the system and ability to collect. You have to in run new electrical lines, pour new concrete, sufficiently protect the machines from weather and theft, send people out to service them, collect the money, prevent credit card skimmers from getting in there, etc. Machines could collect hundreds of dollars in larger bills due to the higher fares relative to rapid transit, making them richer targets and thus in need of substantial hardening. Of course, you want kiosks at terminal stations to handle the overflow--but outside of heavy volume stations, there's not really a need relative to the cost.
You also WANT people to purchase tickets ahead of time. They don't need to download an app, mostly a web page will work fine.
It's much less cost prohibitive to put the fare collection on the trains themselves if you want to leave the cash/credit card option available to passengers. To note, they're trying to phase out and go entirely cashless.
That being said, it is also possible for the conductors themselves to have units that will accept credit cards for payment and give out change in the form of Ventra cards. Of course, there is a surcharge for this service that should cover the additional cost. (There is already a $5 cash on board surcharge for Metra fares.)
FInal point: You want to encourage interoperability with other forms of Rapid Transit in the same area. This is why the Ventra card/app exist. The idea is to eventually make all fare payment for METRA and CTA to be on a common system, much like it is in other parts of the world.