It seems a bit repetitive to refer to oneself again in the same sentence. Is there some grammatical rule behind this for a particular class of verbs?
Yes, there is a number of verbs which require a reflexive pronoun ("Reflexivpronomen"). They are called "true reflexive verbs" (echte reflexive Verben), and "[sich] freuen" is one of them.
You can find a list of other verbs here:
Another group of verbs are the "false reflexive verbs" (unechte reflexive Verben).
They can be used reflexive, like in
"Wir treffen uns morgen".
But they can also be used with accusative:
"Wir treffen ihn morgen." -> "ihn" is no reflexive pronoun.
To add some fun and confusion:
The verb "treffen" has another meaning: "to hit". The sentence
Wir treffen uns morgen.
Ich treffe mich morgen.
means either I shoot myself or I have a multiple personality :-)
Ich treffe mich morgen mit Hans.
is correct. In everyday speech you could even say
Ich treffe morgen Hans.
It depends on the context which meaning of "treffen" applies, but in most cases Hans should survive ;-)
German language has two kinds of reflexive verbs: Echte reflexive Verben and unechte reflexive Verben
Echte reflexive Verben like freuen always have a reflexive object (Reflexivpronomen). You can say
Ich freue mich.
Er freut sich.
but can't say
Ich freue dich.
Unechte reflexive Verben like treffen or waschen may be used reflexive like
Ich wasche mich.
Wir treffen uns (nächste Woche).
but also with an Akkusativ- or Dativ-Objekt
Ich wasche die Kleidung.
Ich treffe dich (am Kino).
or simply (in some circumstances)
You might have heard of the differentiation between transitive and intransitive verbs. In short, a transitive verb requires an object (sometimes multiple objects), an intransitive verb can't be used with a (direct) object.
An example for a transitive verb in English is "to need". You can't just say, "I need", you need to need something ;) On the other hand, "to flow" is intransitive, you can't flow something.
In English, many verbs can be used as transitive or intransitive without change, so the distinction isn't as visible as in other languages. For example, "I open the door" (transitive usage of "to open") and "The door opens" (intransitive usage of "to open") are both correct.
Occasionally, the object that a verb has to have refers back to the subject of the sentence, as in "He hurt himself". Such verbs are called "reflexive verbs". In your examples, "treffen" and "freuen" are such reflexive verbs. In fact, they're typically specified as "sich treffen" and "sich freuen".
The problem is, that verbs are possibly ambiguous, they can be reflexive, but need not to be: We could meet the customer, the boss, some of our colleagues or simply each other. Simply to leave out the object for the latter meaning is not idiomatic and seems an unusual shortcut anyway.
(Admittedly this does not really apply to freuen, which is impossibly to do with someone else. But it is simply used in the same way.)