I believe the first two sets of conditions are conflicting each other try this for wordpress
### http to https
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.yoursite.com [NC]
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301,NC]
### non-www to www
RewriteRule ^(.*)$ http://yourdsite.com/$1 [L,R=301]
### default wordpress rules
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
If this works now go to your respective plugins and configure them again to set their rules automatically in .htaccess