"那么" is commonly used in an assumed situation.
Eg, If you had eaten, THEN you wouldn't be hungry.
It's quite similar to the use of THEN here, but we know that in English it's not necessary to add "then" to indicate the consequence caused by the first half of the sentence.
"如果...那么.." is usually used together but not necessarily.
因为...所以...is just like because... so.... although in English we're not supposed to use both together.
因為15路公共汽車已經沒有了,所以我們怎麼回家?
----Because there's no more No.15 buses, so how do we go home?
"how to go home" is a question but not a consequence, so it sounds rather weird to use 所以
因为15路公交汽车已经没有了,所以我们要走回家。
In this case, "need to walk home" is an affirmative thing. So, 所以 is better used here.
15路公交汽车已经没有了,我们该怎么回家?This sounds best to me.
I know my explanations are lame:(, just hope that it doesn't confuse you more:)