Why is the width of
~ different than
Prompt is defined on the shell variable $PS1
echo $PS1 and you will see its definition. Change it by editing
~/.zshrc if you want.
About the width, it is because the font used on your terminal is not a monospaced font. Choose any monospaced, or fixed-size font, if you want all character to be the same width.