Como ordenar listas aninhadas em listas separadas com valores exclusivos em python?

Eu tenho duas variáveis:

unique_val = [1,2,3]
nested_list = [['name1',1],['name2',1],['name3',3],['name4',2],['name5',2],['name6',3]]

Basicamente eu quero listas separadas dos nomes em cada valor único. Eu me esforcei para montar um conjunto de loops aninhados sem sucesso.

Idealmente, a saída seria algo assim:

list_1 = ['name1','name2']
list_2 = ['name4','name5']
list_3 = ['name3',name6']

questionAnswers(2)

yourAnswerToTheQuestion