How does exactly stashes collide when league's changed?
How does exactly stashes collide when league's changed and what if there is not enough free space?
At the end of a league, that league's stash is moved to it's parent league (soft/hardcore standard depnding on which you're in).
There is no need to worry about space as they are placed in special remove-only tabs. You can take your items out, but they cannot be used for storing other items. These tabs last as long as something remains in them, so you won't lose your things either.
In addition to Katustrawfic's answer.
You will always have enough stashes available. Say when you have 4 filled stash tabs in Ambush (the current 4month league with Standard as parent league) when the season ends. All 4 of those will be transferred as additional stash tabs in the Standard League. All your characters that were in Ambush will be moved to Standard. In your stash you will have all the tabs you had available in Standard + the ones you had in Ambush as extra tabs. So 8 tabs in total. You do NOT need to pay for these extra tabs.
These extra tabs are REMOVE-ONLY. Which means there will be items in them but you can't put new items in them. You can only remove the ones that were in them since the Ambush league. You will need to put new items in the tabs you had available in Standard league.
They work almost the same as the additional tabs you get from race rewards. The only difference is race reward remove-only tabs are accessible from all leagues. Whereas stash tabs that go to their parent league will only be available in that league.