Is "am" necessary in the sentence? Could you please give me an explanation of the grammar of the sentence?
First of all, the verb "keep" doesn't collocate; it should be "be punctual." (Or say "be on time.")
Yes, the "am" is necessary, otherwise we'd think the second part of the sentence referred to "person," when in fact it refers to "I." Yes, "I" and "a person" both refer to the speaker, but they have different functions in the sentence. Alternatively, instead of "am," we could use "is," which would change the structure, although the meaning would be the same.