結局、Pythonはインデントを使う構文の関係上、
関数の引数に、(普通に書くと)2行以上に渡るような処理を書かせたくないってことだよ。
代入1個だけなら何とかなったかもしれないけど、「代入と何か」をさせようとすると2行になるから構文的に難しい。
メソッドチェーンならいくつ続いてもOK。
別にsetterに限った話でもないし、イベントやコールバックでsetterを使うのに違和感は感じない。