У метода pack() есть параметр side (сторона), который принимает одно из четырех значений-констант tkinter – TOP, BOTTOM, LEFT, RIGHT (верх, низ, лево, право). По умолчанию, когда в pack() не указывается side, его значение равняется TOP. Из-за этого виджеты располагаются вертикально.