You nest only the axes whose rows don’t need to be aspect constrained, so that the big square one gets its own row:
plot_figsize_width_pt = 500
λ_color = :magenta
ϵ_color = :teal
fig_simple = Figure(size=(plot_figsize_width_pt, 0.5*plot_figsize_width_pt), figure_padding=1)
Label(fig_simple[1, 1:3], "Liouvillian", tellwidth=false, tellheight=true)
Label(fig_simple[1, 4:6], "Propagator", tellwidth=false, tellheight=true)
box_λ_simple = Box(fig_simple[2:4, 1:3], cornerradius = 5, color = (λ_color, 0.25), strokecolor = :transparent)
box_ϵ_simple = Box(fig_simple[2:4, 4:7], cornerradius = 5, color = (ϵ_color, 0.25), strokecolor = :transparent)
Makie.translate!(box_λ_simple.blockscene, 0, 0, -100)
Makie.translate!(box_ϵ_simple.blockscene, 0, 0, -100)
ax_λ_simple = Axis(fig_simple[3, 2][1, 1])
ax_ϵ_simple = Axis(fig_simple[3, 5][1, 1])
ax_λ_gap_simple = Axis(fig_simple[3, 2][2, 1])
ax_ϵ_gap_simple = Axis(fig_simple[3, 5][2, 1])
ax_ϵ_symmetry_simple = Axis(fig_simple[3, 6])
colsize!(fig_simple.layout, 6, Aspect(3, 1))
rowsize!(fig_simple.layout, 2, 0)
rowsize!(fig_simple.layout, 4, 0)
colsize!(fig_simple.layout, 1, 10)
colsize!(fig_simple.layout, 3, 10)
colsize!(fig_simple.layout, 4, 10)
colsize!(fig_simple.layout, 7, 10)
rowgap!(fig_simple.layout, 8)
rowgap!(fig_simple.layout, 1, 2)
rowgap!(fig_simple.layout, 3, 10)
colgap!(fig_simple.layout, 8)
colgap!(fig_simple.layout, 3, 10)
colgap!(fig_simple.layout, 5, 10)
fig_simple