Your names already have the NEXT_PUBLIC_ prefix, so look at the URL in the error: that's a branch deployment, which is the Preview environment. In the Vercel dashboard every variable has checkboxes for Production, Preview and Development. If they're only ticked for Production, a preview build inlines undefined and you get exactly this crash.
vercel env lsshows the scope per variable. Tick Preview, then redeploy that branch. A redeploy is required: NEXT_PUBLIC_ values are baked into the JavaScript at build time, changing them in the dashboard does nothing for a build that already exists.
One more trap: this only works with the literal process.env.NEXT_PUBLIC_SUPABASE_URL. If anything reads it as process.env[name], Next can't inline it and it's undefined in the browser everywhere.
NEXT_PUBLIC_prefixed, and did you redeploy after adding them? Client-side env vars are baked in at build time.