If you notice... those matches are spread out across the day.... and each server is independent.... so millions of matches is a meaningless term in this discussion...
There is clearly some randomness built into the game... would be lunacy not to....
Some evidence is gained when a sub comes in AND changes position on the field from the previous player.... then scores a goal or gains a card....
This "could" be sophisticated coding... but that's more labor intensive than random number generation.....
Plus there have been matches that were simulated.... only for some system error to damage the file forcing the game to be re-simulated... win have turned into losses... again indicating less pre-determination