Santiago and James are indeed cognate, both ultimately deriving from the Biblical name יַעֲקֹב (Yaʿqob), but they evolved via different routes. Santiago comes from the Latinised form Sanctus ("Saint") Iacobus, while James derives from an Occitan variant Iacomus:
As such, a more obvious set of analogues might be:
As for why most New Testament figures named Ἰάκωβος are anglicised as James,1 as opposed to the closer-to-the-Greek Jacob, this has more to do with historical tradition, and is analogous to the name being traditionally rendered as Santiago (as opposed to San Jacobo) in Spanish:
So how did the Jewish name Ya’akov become so Gentilized as James? Since the 13th century, the form of the Latin name Iacomus began its use in English. In the 14th century, John Wycliffe made the first Bible translation into English and translated Iakobus as James. (However, in both the Old and New Testaments he arbitrarily used the name Jacob for the patriarch). In all future English translations the name stuck, especially after 1611, when King James I sponsored the translation then called the Authorized Version but since 1797 called the King James Bible.
Indeed the association is so strong that many post-biblical Christian figures named Jacob (or a similar variant) are often referred to as James in English.2
· The development Iacobus > Iacomus is likely a result of nasalization of the o and assimilation of the following b (i.e., intermediate *Iacombus) followed by simplification of the cluster mb through loss of the b.
· The form Didacus is a medieval latinised form of Diego (similar to the latinisation Ludovicus, of the Germanic Luis).
1. James son of Alphaeus, James son of Zebedee, James the less, James the Just.
2. James of Nisibis, James Intercisus, James the Deacon, James the martyr.