Difference between Verb + 不了 and Verb + 不动
This dictionary definition of 了 could help:

了 /liǎo/


动词

跟“得”或“不”组合用在动词后面，表示可能或不可能

干得了 / 去得了 / 这病好不了。

So, according to dictionaries, 不了 means something is impossible to achieve.  E.g. 结束不了 (can't be over/finished)
不动 simply means to not move.
With all that above in mind, let's review your examples one by one:

我的腿受伤了，所以我走不了。// this is obvious that it denotes the sense of impossible to walk/leave.


我累得走不动 // the word 累(tired) suggests lack of energy, so 不动(can't move) make more sense.


这个书架我们两个抱不___ // in this case, if we put 动, it means you two can not make the bookshelf move.  If we use 了, then it will implies that it's impossible for you two to hold the bookshelf and maybe you need more people to help.  So, both are possible answers.

In fact, as you can see, 不了 and 不动 are quite different words.  They just occasionally came across in some examples like yours.
Hope this could help.