The English phrase “I'm late” cannot be translated into German literally (*Ich bin spät). Colloquial German allows: Ich bin zu spät, but more formally correct versions are: Ich komme zu spät, or: Ich bin verspätet.
The phrase Ich bin spät dran implies slight lateness, or may mean that one was delayed but might still manage to arrive on time.