The stirges could down a gargantuan creature
The average damage a single stirge does follows the pattern of the following table:
\begin{array}{c|c|c|c}
\text{AC 10} & \text{AC 12} & \text{AC 14} & \text{AC 16} & \text{AC 18} & \text{AC 20} & \text{AC 22} & \text{AC 25+}\\\hline
4.525 & 3.975 & 3.425 & 2.875 & 2.325 & 1.775 & 1.225 & 0.4
\end{array}
Then we can look at the surface area of creature spaces based on the following table (in terms of number of tiny flying attackers that can hit the target)1.
Note that some attackers can attack from more the other side of a different strige since their reach is 5 feet but they only take up a 2.5 sq feet space. When doing so, the target is considered to have +2 AC from the cover rules (I labeled these as "x more" in the table):
\begin{array}{c|c|c|c}
\text{Tiny} & \text{Small/Medium} & \text{Large} & \text{Huge} & \text{Gargantuan}\\\hline
\text{8 & 16 more} & \text{12 & 20 more} & \text{20 & 28 more} & \text{28 & 36 more} & \text{36 & 44 more}
\end{array}
1 I chose to work in 2-dimensions since the creatures space rules on a grid only incorporate squares.
With that information, we can look at gargantuan creatures that have low AC and low HP. The best example of this is the brontosaurus from Volo's Guide to Monsters which has:
Armor Class 15 (Natural Armor)
Hit Points 121 (9d20 + 27)
- With an Armor Class of 15, a single Blood Drain attack deals an expected 3.15 damage.
- When the target has cover, the AC is 17 meaning a single Blood Drain attack deals an expected 2.6 damage
Against the brontosaurus, we can have 36 attackers without cover, and up to 44 more with cover.
With all 80 stirges, this deals an average of 227.8 damage per round, which is enough to kill the brontosaurus in one round. The minimum number of striges to down a brontosaurus in this way is 39 (36 without cover and 3 more through cover).
What about Movement?
If you assume the stirges can employ some simple tactics (a tall ask for 2 Int creatures, but let's play it out) and move in and out to free up space for other attackers, you can get a whole lot more.
In order to ignore initiative differences, let's assume the stirges stay out of the adjacent spaces and merely fly in and fly out after attacking. This gives the following chart of eligible attackers:
\begin{array}{c|c|c|c}
\text{Tiny} & \text{Small/Medium} & \text{Large} & \text{Huge} & \text{Gargantuan}\\\hline
\text{416} & \text{448} & \text{512} & \text{576} & \text{640}
\end{array}
However, they won't all get to attack because, after any given stirge hits:
.. the stirge attaches to the target. While attached, the stirge doesn't attack...
The stirge can detach itself by spending 5 feet of its movement. It does so after it drains 10 hit points of blood from the target or the target dies.
Essentially, the most attacks we can get off is still the 24-80 stirges (depending on size); we just have way more chances to do so. Here is the expected number of stirges that must attack to get the non-cover hits:
\begin{array}{c|c|c|c}
\text{} & \text{AC 10} & \text{AC 12} & \text{AC 14} & \text{AC 16} & \text{AC 18} & \text{AC 20} & \text{AC 22} & \text{AC 25+}\\\hline
\text{Tiny (8 hits)} & 10 & 11.429 & 13.333 & 16 & 20 & 26.667 & 40 & 160\\\hline
\text{Small/Medium (12)} & 15 & 17.143 & 20 & 24 & 30 & 40 & 60 & 240\\\hline
\text{Large (20)} & 25 & 28.571 & 33.333 & 40 & 50 & 66.667 & 100 & 400\\\hline
\text{Huge (28)} & 35 & 40 & 46.667 & 56 & 70 & 93.333 & 140 & 560\\\hline
\text{Gargantuan (36)} & 45 & 51.429 & 60 & 72 & 90 & 120 & 180 & \text{N/A}\\\hline
\end{array}
...in every case except when the AC is 24+, the remaining stirges are more than enough to score the remaining hits through cover. Here is the AC 24 and 25+ case if you are curious
\begin{array}{c|c|c|c}
\text{} & \text{AC 24} & \text{AC 25+} \\\hline
\text{Tiny} & \text{All } 16 & 12.8 \\\hline
\text{Small/Medium} & \text{All } 20 & 10.4 \\\hline
\text{Large} & \text{All } 28 & 5.6 \\\hline
\text{Huge} & 29.6 & 0.8 \\\hline
\text{Gargantuan} & 28 & \text{N/A}\\\hline
\end{array}
Finally, each stirge that hits (ignoring crits for now) deals 6.75 damage on average. To add the crits, we'll just add an extra expected 2.5 damage per 20 stirges. As such, here is that damage output against each target:
\begin{array}{c|c|c|c}
\text{} & \text{AC 10-23} & \text{AC 24} & \text{AC 25+} \\\hline
\text{Tiny} & 220.8 & 220.8 & 191.36 \\\hline
\text{Small/Medium} & 294.4 & 294.4 & 206.08 \\\hline
\text{Large} & 441.6 & 441.6 & 235.52 \\\hline
\text{Huge} & 588.8 & 529.92 & 264.96 \\\hline
\text{Gargantuan} & 736 & 588.8 & 294.4\\\hline
\end{array}
(The Gargantuan AC 25+ doesn't hit all of the non-cover attacks, so I've calculated it manually).
This is enough damage to kill just about any monster that doesn't have resistance or immunity to the stirge attacks and has 24 AC or less, and even some fairly powerful ones that do have resistance. Here are the most powerful options the swarm can kill for each size category:
\begin{array}{c|c|c|c}
\text{} & \text{Monster} & \text{CR} & \text{Resistance?} \\\hline
\text{Medium} & \text{Halaster Blackcloak (DotMM)} & 23 & \text{No} \\\hline
\text{Large} & \text{Miirym (MotM)} & 22 & \text{No} \\\hline
\text{Huge} & \text{Molydeus (MotM)} & 21 & \text{Yes}\\\hline
\text{Gargantuan} & \text{Metallic Greatwyrm (FToD)} & 28 & \text{No}\\\hline
\end{array}