É substantivo, porque «amigo» é núcleo de um grupo nominal. O nome próprio Zé tem a função de aposto de especificação, tal como acontece em «o tio João», «a prima Catarina», «o rei D. Manuel» ou «o poeta Bilac» (ver Celso Cunha e Lindley Cintra, Nova Gramática do Português Contemporâneo, Edições João Sá da Costa, 1995, pág. 156). Nestas expressões, tio, prima, rei e poeta são substantivos especificados ou individualizados, respectivamente, pelos apostos «João», «Catarina», «D. Manuel» e «Bilac». Do mesmo modo, direi que, na sequência em questão, a palavra amigo é especificada pelo aposto «Zé».