I do mean rate of specialty usage, mostly at least. Just like I think/ expect position makes a difference for rate of shot attempts for attackers.

Here's one easy way the decision doesn't have to be binary:

If ML receives ball

(0-50) pass ball forward (+5 when attacking mentality)
(51-75) dribble ball 0.X second, then check again (+5 if normal)
(76-85) pass ball backwards (+10 if defensive)
(86-90) shoot (+5 if hard attacking)
(91-94) foul
(95-99) specialty attack (-3 if out of position)

Just simple adjustable decision trees, applying % likelihood of attempting an action, with a skill check formula for actions.

These are sophisticated programmers, I have no doubt the logic behind the game can be more complex than simple dice rolls or random chance. Think about how deceptively tricky programming, for example, an animation of the ball elevating and falling during a corner kick; a bit of physics modeling, might not be so hard. But the dynamic team movement, or marking animation? They could be hand done, but to me it seems like relatively complex mathematics modeling.