Variables and constants serve distinct purposes in first order logic, and for that reason behave differently on a syntactic level.
The "scope" of a variable (in a sentence) is only in the formula in which it is defined, or the subformula where it is being quantified over. It serves not to distinguish a specific element, but to represent a set of possible elements. When a variable (in a formula) is interpreted in a structure, it can (and often should) be interpreted in different ways. In a sense, a variable only acquires identity in a particular interpretation inside a structure: in a theory, it is a placeholder. It is this understanding that allows us to quantify over variables.
Constants, however, are much more global. One can reuse a constant in many different formulas, so as to connect them. For example, if I wanted to talk about constant $c$ larger than all natural numbers, I could write $c > 0, c > S(0), \cdots$, an infinite family of formulas. To interpret these formulas in a structure, I would need a number greater than all natural numbers. If $c$ were merely a variable, I would have to write $\exists x ( x > 0), \exists x (x > S(0)), \cdots$: each formula would be disjoint from the other, and I interpret this collection of formulas in $\mathbb{N}$, even though it contains no element larger than all natural numbers. Moreover, certain theories (such as the theory of groups), make use of a distinguished element (such as the identity element). We would like to talk about that distinguished element, rather than treating it as a placeholder, which it is not. We would not want to consider all possible ways of interpreting elements in a group as the identity element: for a fixed group, there is a fixed identity element. As a result, one might say that constants have identity even in a theory, and indeed we introduce new constants to our language if we want to talk about larger models.