Why did classical battles did tend to be larger than in the medieval period? One particular example I am thinking of was the Battle of Stamford Bridge, which had around 30,000 participants, compared to the Battle of Wattling Street which supposedly had 10,000 Romans facing against 230,000 Britons. The number of Britons is of course likely exaggerated, but even if the Romans were outnumbered 1:3, that would already make for a larger battle than Stamford Bridge.
This is a complex matter (some authors like Delbruck thought that the classical numbers are very inflated) but one may point out to logistics - classical states were much better able to extract and stockpile resources (human and material) than high medieval polities with their fragmented political authority and erratic currency.
As for the Romans' barbarian opponents, there we often have whole tribes on the move, which account in a different way for the relatively large numbers, whereas in medieval battle we do not encounter such population movements.
@Felix's answer is the key, but there is also the secondary fact that medieval warfare tended to be more highly specialized than the classical. The increased emphasis on heavy cavalry meant a lot more emphasis on a very 'expensive' form of soldiers: ones who needed more training, supplies and support staff than either barbarian tribal levies or big masses of infantry. Combine that with the much smaller size of the political units involved and you can see why smaller groups are a natural result.