Usually, what happened is that do-release-upgrade changed your /etc/apt/sources.list to point to the repository sources for the new version of Ubuntu. So, when it got interrupted during download, your system still was nearly untouched, but for these changes¹.
Check whether there's a file (not directory .d) /etc/apt/sources.list.* (probably /etc/apt/sources.list.distUpgrade if it's as in the olden days) from the time you ran do-release-upgrade the first time.
If so, move your current /etc/apt/sources.list out of the way (e.g. sudo mv /etc/apt/sources.list /etc/apt/sources.list.backup), and move your /etc/apt/sources.list.distUpgrade (or whatever it's called) back, i.e., sudo mv /etc/apt/sources.list.distUpgrade /etc/apt/sources.list).
Do an sudo apt-get update: that should work cleanly. Now, try again.
′ And honestly, it's just a bad way of doing this; instead, the do-release-upgrade program should have just instructed apt-get to use a different sources list. Honestly, even adding a patch to apt-get to allow for text replacement on URLs on the fly through an option for exactly these cases would have been wiser.
But software is how it is, and we need to either fix it or deal with it… I'm not sure how Canonical managed to arrive at this solution after so many years. It's supposed to be a commercially viable long-term commercial support thing! Fedora (and other distros!) get this right, "trivially" (because its package management dnf, formerly yum doesn't include the release in the URL hardcoded, but as vairable, and because it can be easily instructed to just do the downloads and verfication, not the execution of the update; apt-get can do the same, it's just not being made use of by Canonical's Ubuntu):
Upgrading is a two step process where the first step shouldn't touch your system configuration in any way, especially not the package sources, by downloading all the updated packages from the URLs for the next release, and then the actual upgrade happens after a reboot, as a second step, only when the first step has fully been successful and the logic of the upgrade checks out (e.g., no conflicting files).
do-release-upgradecan be used while the old repositories still exist (i.e. haven't been moved to archive) ONLY!. Support for Ubuntu 18.04 ended April 2023 for standard Ubuntu and April 2021 for flavors. The old repositories were moved to archive some time during 2023.