These files are the previous versions from each renewal operation. The design of Certbot keeps all of these by default, for example in case something goes wrong with the renewal, so that you can go back to an earlier version.
If you delete a version that’s older than the newest one, it should not break anything; the next_free_version() function in Certbot’s storage.py will keep counting from the highest number (so your next renewed certificate would still be cert5.pem, etc., even if you deleted cert1.pem and cert2.pem). However, I’m not sure that we’ve tested this. Maybe it should be a part of our automated tests to confirm that this doesn’t break anything.
The files are all < 4kb in size so it would take thousands of renewals and certs’ before disk space ever became a problem. You can however safely delete the old ones except just keeping the very last one put into /archive/ so all the one’s ending in 2, 3, 4 etc but keeping then last / previous cert ending in 1.
Careful, the numbers increase with new versions (unlike log rotation in /var/log, say), so cert9.pem is more recent than cert1.pem. If you want to delete old ones, you’ll want to delete the ones with smaller numbers, not larger numbers!