This isn't a difficult issue at all. On one hand, God is not the author of confusion: "For God is not a God of confusion but of peace, as in all the churches of the saints," (1 Cor. 14:33). The context of this verse is dealing with the gift of tongues as were spoken in Christian churches in its early years. Foreigners would attend these churches and hear their own languages being spoken. There would often be interpretations of these tongues. Also, Christians would be over eager in their use of various tongues and this would often lead to confusion as people did not do things in order. Therefore, in the immediate verses prior to (1 Cor. 14:33), Paul had just given instruction on the proper use of the tongues in the church, a use which stated order and sequence. The goal was not to produce a confusion among the hearers so that they would not understand the gospel. Instead, it was to produce an orderly service of worship.
The context of the Tower of Babel is quite different. The people of the earth were attempting to build a tower that would "...reach into heaven, and let us make for ourselves a name; lest we be scattered abroad over the face of the whole earth," (Gen. 11:4). The sin of the people was their great pride. They were seeking to remain one group in one location under their own efforts. Ultimately, this was a defiance of God's proclamation to fill the earth (Gen. 9:1). God wanted them to spread out. "So the Lord scattered them abroad from there over the face of the whole earth; and they stopped building the city. 9Therefore its name was called Babel, because there the Lord confused the language of the whole earth; and from there the Lord scattered them abroad over the face of the whole earth," (Gen. 11:8-9). Therefore, there is no contradiction since each is a different context and a different subject.