Вы пропустили итерацию по массиву 2x2 9 раз. Каждая итерация дает строку массива, которую вы видите, когда смотрите на первый элемент - первую строку первой матрицы. Мало того, вы добавляете эту строку в список, поэтому у вас фактически есть 18 списков с одним элементом. То, что вы хотите сделать, это добавить матрицу напрямую, без внутреннего l oop и определенно без дополнительных []
вокруг, или еще лучше:
x = [np.random.randint(2, size=(2, 2)) for _ in range(9)]