I think this section of the spec talks only when you declare two variables of the same name in the same declaration statement. Like: let x, x;
The example in the original post should throw an error during evaluation (execution).
Both cases in Boa are unhandled, and give the same panic.
I think I'm correct because I compared the following two in Chrome:
let x;
try {
let x;
} catch (er) {}
undefined
try {
let x, x;
} catch (er) {}
Uncaught SyntaxError: Identifier 'x' has already been declared
The second case throws the error during parsing which is not catchable.