MySQL riserva sempre l'importo massimo per un UTF8 campo che è di 4 byte quindi con 255 + 255 con il tuo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; hai superato il limite massimo di 767 chiavi.
Puoi solo ridurre la singola lunghezza varchar o non utilizzare una chiave composta.