Are empty string and zeros treated the same for numeric variables?

No, they are not treated the same.

Zero is treated as a value. The empty string is treated as special non-numeric information. If a non-empty string is used for a numeric variable, the variable may be judged as string type.