Преобразуйте каждую пару в целое число из основания 16, получите соответствующий символ и объедините:
''.join(chr(int(a[i:i+2], 16)) for i in range(0,len(a),2))
Конечно, у вас на самом деле нет bytes
объекта шестнадцатеричных чисел, но есть строка. Итак, верните строку, создайте настоящий шестнадцатеричный bytes
объект и декодируйте, что является еще одним вариантом:
bytes.fromhex(a.decode('ascii')).decode('ascii')