No, they absolutely are not required, they are mostly just noise. That said the editor should handle them open a bug report about it and I will look at it when I have a moment.
For @charset
https://www.w3.org/International/que....html#nutshell
And the namespace declaration is absolutely not required. Modern HTML only supports disjoint tag names so namespaces are not needed. And in any case XHTML is the default namespace just as utf-8 is th edefault charset.