Проблема в том, что внешний l oop проходит через столбцы и внутренние петли через оси, когда вы go линия барплота, петли происходят в j & k, не переходя к внешнему l oop, поэтому вы строите график один и тот же столбец на разных осях.
Что-то вроде этого должно работать:
Сначала создайте список осей, а затем l oop через столбцы и список осей одновременно
l = [(j,k) for j in range(3) for k in range(3)]
for i,q in zip(range(len(data.columns)- 1),l):
sns.barplot(y = data.iloc[: , i], x = data.quality, ax = axes[q[0]][q[1]])