The double RewriteEngine On is definitely going to break stuff. Any time you use RewriteEngine On, it wipes all the previously set redirect rules.
The redirect loop itself seems to be caused by on one hand your website’s code itself redirecting everyone HTTPS to HTTP, and your .htaccess code trying to redirect everyone from HTTP to HTTPS.
To fix this, I suggest disabling the .htaccess rules for HTTPS redirects first. Then you should be able to access your website again (without HTTPS), where you can configure your website to use HTTPS.
Thank you for your answer. Just to followup, how would I go about disabling the .htaccess rules for HTTPS? And also do you happen to know how I can configure my website to use https?