I find it interesting that in the days of the Republic, when Rome consisted of barely anything more than the Italian peninsula, it was able to repeatedly replenish it's army in large numbers. Hannibal killed some shocking numbers of Roman soldiers before Cannae, yet they were still able to whip together 80,000 for that battle. And then after taking tens it thousands of losses there, they were able to pull together enough soldiers to invade Africa. Meanwhile in Late Antiquity, despite having the resources of Italy, Iberia, Gaul, and North Africa, they seemed hard-pressed to keep up the sort of numbers that the much smaller Republic had fielded.
I'm sure someone can give a very detailed answer as to why the Roman army was able to raise such vast numbers of men against Hannibal in the Punic War.
I would just like to say something about the late army. Although in late antiquity we might not see a single 80,000 strong Roman army in the field, the total number of soldiers in the Roman army was possibly greater than at any time in Rome's history. There have been a number of attempts to estimate the size of the late army, and depending on what source you look at (modern: Jones, Treadgold; ancient: Marcellinus, Lydus, Agathias), it could have been anywhere between 300,000-600,000. This tells us that the late Empire did have more men to field, overall, than during the mid Republic.
In regard to why the late empire didn't form something like an 80,000 strong single army has probably to do with the nature of the threats it was facings, and the way that it had gone about dealing with them. After Diocletian's and Constantine's military reforms, the old legio was essentially dismantled in favour of the comitatus, which was about a third of the legion in terms of size (Duncan-Jones). The comitatus was a more mobile force, meant to respond more quickly to invaders; it must have become apparent to the Romans that larger and more stationary armies were ineffective at dealing with much more frequent and geographically widespread barbarian incursions into imperial territory.
This is not to say, though, that the late Romans did not field large numbers (Julian at Strasbourg, Belisarius in his invasion of the Vandals and the Gothic Wars in Italy, the Byzantine-Sassanid Wars of 602-628). I do concede that in those examples the numbers were still short of what we see in the second Punic War, but there is probably a strong reason for this -- mainly, that the size of territory that the Romans had to administer in the late imperial period was far larger than in the late 3rd c. BC. This required spreading out one's military resources in order to defend the empire's various vulnerable zones. Of course, there are other reasons -- like problems with availability of manpower in the 4th and 5th c. (especially in the Western half), economic crises, etc -- but I'm not going to delve into that.
I also think it's a bit unfair to single out the late empire in particular -- it seems to contribute to the popular theme of the late imperial army as a decaying and degenerating military force. In fact, this kind of a question can be easily posed with regard to the Principate, where we also do not see a single Roman army of 80,000 (correct me if I'm wrong, though).
A large part of the answer to this question simply revolves around the time period in question. For instance, the Western Empire really had no need of such large armies; from the split in around 285 until about 395, most of the conflicts were localised and small skirmish-sized battles wherein smaller and more mobile legions of around 1,000 men were far better suited to countering the threat. The larger invasions by the likes of the Huns (led by Attila of course) occurred within the 5th Century, by which point the Empire's actual sphere of control did not extend much beyond Italy - The Vandals had overrun N. Africa, the Visigoths had effective control of Aquitania and Spain, along with the Suevic Tribes, the Ostrogoths and Alamans had invaded Illyria and Britain had fallen to the Saxons. Of course, the result was a near total drop in available manpower to the point where Severinus mentions victorious Roman armies offering Germanic prisoners a place in the legions. To exacerbate this, Imperial administration had almost entirely disappeared, again from Severinus we learn that pay for the frontier garrisons was almost non-existent (they had to send men to collect money from Italy), though tax revenue at this stage had dropped massively due to the loss and damage of provinces; and to make matters worse, there were cases of Pogroms in Italy targeting the families of Germanic legionaries, who upon hearing of their families' deaths, understandably deserted to the invading Barbarians.
Despite this, Flavius Aetius was able to gather an estimated 30,000 or so men to combat Attila's invasion of Gaul in 451 which were further reinforced by allied Visigoths, Alans, Franks, Saxons and even Burgundians, in a confederation that some estimate had around 60,000 men in total. The Battle of the Catalaunian Plains, as this culminated in, was a kind of Pyrrhic Victory for the Roman confederation, and is generally considered the last large battle the Western Empire was able to participate in. After this point, things continued to decline, with the remaining armies simply unable to match the numbers of the invaders, eventually fading into obscurity until the official end of the Western Empire in 476.
Hope my answer wasn't too incoherent and you drew at least something from it :)