Fiz da seguinte forma e consegui a saida correta, veja se está diferente do seu codigo. cada df executado em um bloco de codigo independente
data = [['A','A','A'],['A','A','A'],['A','A','A']]
index= ['Linha ' + str(i) for i in range(3)]
columns= ['Coluna ' + str(i) for i in range(3)]
df1 = pd.DataFrame(data, index, columns)
data = [['B','B','B'],['B','B','B'],['B','B','B']]
index= ['Linha ' + str(i) for i in range(3)]
columns= ['Coluna ' + str(i) for i in range(3)]
df2 = pd.DataFrame(data, index, columns)
data = [['C','C','C'],['C','C','C'],['C','C','C']]
index= ['Linha ' + str(i) for i in range(3)]
columns= ['Coluna ' + str(i) for i in range(3)]
df3 = pd.DataFrame(data, index, columns)
df4 = pd.concat([df1, df2, df3], axis = 1)
df4