Я предлагаю использовать словарь, например, так:
coordinate_list = [(40, 8), (301, 8), (27, 147), (8, 181), (274, 181)]
paired_lists = {}
for x, y in coordinate_list:
if y in paired_lists:
paired_lists[y].append((x, y))
else:
paired_lists[y] = [(x, y)]
Что мне дает
print(paired_lists)
# {8: [(40, 8), (301, 8)],
# 147: [(27, 147)],
# 181: [(8, 181), (274, 181)]}