Because while infinitives such as essen go to the end of a clause, the conjugated/inflected verb in a subordinate clause goes even more to the end.
Here, we have a subordinate clause started with damit; this means that with wir können, the conjugated part können goes right to the back.
(It looks the same as an infinitive because the subject is wir, which might be confusing. It's perhaps clearer with a different subject, e.g. Er kocht, damit ich essen kann.)
It's a bit like how we say "he eats" (with -s on "eats") but "he can eat" (no -s on "eat").
Short version: if there are two verbs in one clause (sentence part), then only one of them has an ending that depends on the subject, while the other will be either in the infinitive (dictionary form) or a participle.
So here, können depends on wir, and the other verb essen is in the infinitive.
But this sentence does not have "so", it has "so that".
"therefore we can eat" may mean the same as "so we can eat", but not the same as "so that we can eat".
damit is only "so that, in order to".
For "therefore", one option would have been daher (which would have required a different word order in the second clause).
Oh, it means that, too!
Usually(?), the stress is different, though -- conjunction damit "so that, in order to" is daMIT, while preposition(?) damit "with that" is DAmit.
- Ich gebe dir ein Messer; damit kannst du dein Brot schneiden. "I'm giving you a knife; you can cut your bread with that." (DAmit)
- Ich gebe dir ein Messer, damit du dein Brot schneiden kannst. "I'm giving you a knife, so that you can cut your bread." (daMIT)
Your sentence would be grammatically correct as "He cooks. Therefore we can eat." which sounds the same but is two sentences rather than one. That is because "therefore" is an adverb, not a conjunction, and so cannot be used to join two clauses in the one sentence as you have suggested.
Because that means something else.
Er kocht, damit wir essen können = He cooks, so that we can eat / He cooks, so we can eat.
The cooking is a preparation for the eating; it's done for the purpose of enabling us to eat.
"He cooks; thus we can eat" gives "he cooks" as a reason, rather than as something done for a purpose.
That could be daher in German but not damit.
No. A reflexive pronoun refers back to the subject of the sentence; it's equivalent to English "myself/yourself/etc." So since that subject is the nominative noun, a reflexive will never be in the nominative ("er," "wir," "ich," etc.). A reflexive pronoun is accusative or dative, so it looks just like the normal pronouns "mich/dich/uns/etc." or "mir/dir/uns/etc.," with the only exception being third person reflexive, which is "sich."
So basically a reflexive has ti have someone as the subject and then have the same person as an object. A reflexive with "kochen" would have to be "Er kocht sich" = "He cooks himself."
why this is not correct " he cooks in order we can eat" ?
That's incorrect English -- "in order" can't be followed by a clause.
You can have "in order that" + clause or "in order to" + infinitive -- in this case, "in order that we can eat" would work.
("in order to eat" would imply "in order that he can eat"; the implied subject of the infinitive would be the same as the subject of the first clause.)