Error creating new order :: too many certificates already issued for exact set of domains

That is up to you. If you want to continue using Certbot, you could archive /etc/letsencrypt into a tarball and copy that an S3 bucket or something, and import it again when the Elastic Beanstalk server launches.

It seems like you are misusing Elastic Beanstalk, though, and that is resulting in your Let’s Encrypt troubles. If you are deploying your web application using it, then you need to consider your EC2 servers as stateless (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.concepts.design.html). Meaning, everything you do on there can be wiped out at any moment and you will have to do it again.

For this reason, the usual design is to combine an Elastic Beanstalk application with a Load Balancer like ELB, so your SSL certificate (which is setup on the ELB and NOT on the EC2 instance) can be re-used no matter how many times the Elastic Beanstalk application gets redeployed.