I suppose that to explain the problem with FOL, we must inform the reader that there exists two kinds of variables. One of them represents
the so-called individuals. The second represents propositions. In FOL only the variables that represent individuals can be quantified.
And regarding SOL one must explain there exists also two kinds of variables. But this time both kinds may be quantified.
But by different kinds of quantifiers. (You use two dfifferent kinds of quantifiers then but you don't explain why.)
And that for variables that represent propositions they naturally can be interpreted as sets of individuals or as functions whose
parameter is an individual and that return a boolean (it is maybe what you mean by predicate) but that doesn't prevent an
individual from representing a set anyway.
One must be very clear about the concept of individual.