This is due to CORS, as VueJS is running on a different domain than the one Mercure is installed on.
I'm using Mercure with Docker compose, but if you launch it from the CLI, try adding --cors-allowed-origins='http://localhost:8000 http://localhost:8080'
Additional Question 1: I think you should use the same key in .env and mercure configuration
.env
: MERCURE_JWT_SECRET="Secret123"
--jwt-key='Secret123'