I don't have PC/Windows or PC/DOS laying around nor do I use MASM very often, but let me see if I can give you some hints. The two offending lines are:

mov si, msg4

and

mov al, bl

The first error looks okay to me, but I believe MASM makes various assumptions about your labels so I would say to try and prepend 'msg4' with OFFSET. Or since you have done it elsewhere in the code, try using the LEA instruction instead.

mov si, OFFSET msg4

lea si, msg4

As for the second problem, I don't even know what you're trying to do here! I think you made a mistake and just added an extra "bl" but in case you were actually trying to use SI as an index into the address located in BL (which won't work because BL can't hold an address) then you might try using the '' notation. But I think what you really want is to just use: