#JavaScript (ES6), 170 bytes

    s=>s.split(/0{7}/).map(e=>e.split`000`.map(e=>'  ETIANMSURWDKGOHVF L PJBXCYZQ'[c=parseInt(1+e.replace(/111|./g,e=>e<1?'':+(e>1)),2)]||'473168290 5'[c%11]).join``).join` `

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-js -->

    let f=

    s=>s.split(/0{7}/).map(e=>e.split`000`.map(e=>'  ETIANMSURWDKGOHVF L PJBXCYZQ'[c=parseInt(1+e.replace(/111|./g,e=>e<1?'':+(e>1)),2)]||'473168290 5'[c%11]).join``).join` `

    console.log(f('101010100010001011101010001011101010001110111011100000001011101110001110111011100010111010001011101010001110101'))
    console.log(f('10100000001011100011101110000000101110000000101011101000101000101010001010101'));
    console.log(f('1010111011101110001110111011101110111000101110111011101110001110111010101'));
    console.log(f('101010001110111011100010101'));


<!-- end snippet -->