d = {'N1': ['e1', 'e2'], 'N2': ['e1', 'e3']}
return_dict = {k: list(v) for k, v in list(d.items())}
counts = Counter([a for v in list(return_dict.values()) for a in v])
for v in list(return_dict.values()):
    for a in v:
        if counts[a] > 1:
            v.remove(a)
print(d)
print(return_dict)
Проверить наличие повторяющихся элементов в списках в словаре в Python