The Collapsing whitespace markup is hook-like and you can't interlace the start & end delimiters of macros or hooks.
note: the the following example uses pseudo code to demonstrate the point, and is not actual Harlowe syntax.
VALID:
<start-macro-A>
<end-macro-A>
<start-macro-B>
<end-macro-B>
or
<start-macro-A>
<start-macro-B>
<end-macro-B>
<end-macro-A>
INVALID:
<start-macro-A>
<start-macro-B>
<end-macro-A>
<end-macro-B>
In this particular case you should be using Escaped line break markup to remove the unwanted line-breaks.
(if: $a)[\
(set: $b to 1)\
blablabla
blablabla
]
or something like the following, which uses indentation to make the code a little easier to read.
(if: $a)[\
(set: $b to 1)\
blablabla
blablabla
]