"I have known him for a long time."
I think it's to show time duration. I know 了 is used to show tine duration in the negative (an action has not been done for X amount of time). I'm not sure whether 了 also shows time duration in the positive (an action done continuously for X amount of time.)
Why isn't the verb 认识 duplicated here as it is in "他们学中文学了很久了" ("they have been studying chinese for a long time")?
Some verbs are composed of a verb base character with a noun base character, e.g. 骑马，打球，吃饭. With these verbs we repeat the verb base character 骑，打，吃.
Some verbs are formed by 2 verb base characters of identical or similar meaning, e.g. 认识，观察，沐浴. With these verbs we usually do not repeat like that, and if we do we repeat both characters e.g. 他观察野生动物已经(观察了)二十年了. Normally it would be regarded as clumsy and unnecessary.
The grammar section to this lesson explains three cases: 1 character verbs, 2 character verbs without object, and separable 2 character verbs with object. Why do they not also explain this case (2 character unseparable verb with object) if they put a sentence in the lesson?
Actually in which context we would use simple present tense and say
"I knew him for a long time." ?
It is not. It wouldn't be too surprising though if people say this occasionally.