Separate containers/columns for each row should keep alignment. Can you share your code?
Something like this should work:
import streamlit as st
with st.expander('Options'):
row1 = st.columns(2)
row2 = st.columns(2)
row3 = st.columns(2)
options = [f'Description {i}' for i in range(10)]
row1[0].multiselect('a',options)
row1[1].multiselect('b',options)
row2[0].multiselect('c',options)
row2[1].multiselect('d',options)
row3[0].multiselect('e',options)
row3[1].multiselect('f',options)