I think the question is straightforward, "odi" to me appears to be the imperative while "amo" is the singular 1st p. Is this some construction I am unaware of with "et"?
The verb Catullus uses is odisse, not odire (from which you would get an imperative odi).
This verb only has forms in the perfect system but the meaning is that of the present system. That is, what is the present active indicative by meaning is odi, odisti, odit, odimus, odistis, oderunt — perfect active indicative forms. This is one of the defective verbs in Latin that does not have all the forms you would expect it to.
There is nothing funny going on with et or syntax. It's just this verb having a funny conjugation.
Joonas's answer is entirely correct, but to give a slightly different explanation:
Some verbs in Latin are defective. Some of their forms are outright missing, for no obvious reason. For example, the verb ait "say" is always cited in the third person singular present—because most of the other forms we'd cite don't exist! It has no first person singular, and no infinitive; ait is one of the very few forms that's actually used.
In particular, there's a small class of verbs that are only used in the perfect system (the perfect, pluperfect, and future perfect tenses). These often indicate that an event in the past is having consequences in the present: the original purpose of the perfect tense, before it merged with the "simple past" (*) in Latin.
The classic verb of this type is meminī. It's usually glossed as "to remember", but it comes from the PIE root of "to think"; the original semantics were something like "I thought about this a lot in the past, so I can remember it now". Thus, perfect meminī means "I remember", pluperfect memineram means "I remembered", future perfect meminerō means "I will remember".
The verb ōdī works the same way in Classical times. I'm not entirely sure why, historically; I've seen it suggested that the present *ōdiō sounded exactly like audiō in rural dialects, so the perfect took over the present's meaning. But whatever the reason, Catullus's ōdī has a present meaning: "I hate [her]".
(Compare also nōvī "know", formally the perfect of nōscō "get to know". Coepī works the same way, but is generally translated as a past tense in English: "I started". But you can often translate nōvī and meminī with past forms too if you like: "I remember" = "I memorized", "I know" = "I met" or "I got to know".)
Later on, this was a weird irregularity that got smoothed out. So in later Latin, you will find forms like ōdiō, ōdīre. But these forms didn't exist in Catullus's era.
(*) Aka aorist, aka past aoristic, aka preterite. The tense for "something happened in the past and the duration isn't important".