This is from the same reference as yours:
It is common to divide the symbols of the alphabet into logical symbols, which always have the same meaning, and non-logical symbols, whose meaning varies by interpretation.
So just like in common math, logical symbols in FOL is like universal operational math symbols like >, =, and variables which always have the same meaning in a certain realm of math, say, arithmetic. While non-logical symbols are like abstract functional math symbols waiting to be interpreted semantically.
The non-logical symbols represent predicates (relations), functions and constants on the domain of discourse. It used to be standard practice to use a fixed, infinite set of non-logical symbols for all purposes. A more recent practice is to use different non-logical symbols according to the application one has in mind. Therefore, it has become necessary to name the set of all non-logical symbols used in a particular application. This choice is made via a signature.
In this approach, every non-logical symbol is of one of the following types.
A predicate symbol (or relation symbol) with some valence (or arity, number of arguments) greater than or equal to 0. These are often denoted by uppercase letters such as P, Q and R...
A function symbol, with some valence greater than or equal to 0. These are often denoted by lowercase roman letters such as f, g and h.
In summary, a non-logical symbol only has meaning or semantic content when one is assigned to it by means of an interpretation. Consequently, a sentence containing a non-logical symbol lacks any meaning except under an interpretation, so a sentence is said to be true or false under an interpretation. Using a more familiar math analogy, for a sentence y=f(x) in real analysis, the variables (logical symbol) x and y are always meant to be some (maybe unknown) specific real variables in R (ie, they're really act as constants under any possible interpretation), while the abstract function f (non-logical symbol) has no specific meaning until we interpret it as a certain relation like y=sin(x).
Further regarding your:
Why variables are logical symbols?
There's no universal criterion on this, such as Dirk van Dalen's Logic and Structure (5th ed - 2013) avoids "logical symbols" altogether. For me, I believe this is mainly due to the understanding of logical forms. Because logical form is semantic mainly due to the quantified variables not due to predicate relational structure, thus these variables are similarly called logical symbols. You can change the syntactic structure of a logical form, say translate from FOL to propositional logic keeping its semantic meaning (eg, change y=sin(x) to y=cos(x)*tan(x)), logical symbol's meaning (such as variables) is kept intact even under such syntactic structural change, but non-logical symbol such as sin() before is changed by now. Bear in mind that logic is ultimately oriented towards semantics, and semantics create most required symbols, thus all the quantified variables which are the ontic commitments are classified under the roof of logical symbols...