your expectation is wrong. salt is an async system. that and your output is printing that out to the console of the minion, NOT your salt client. a minion will not send anything back to the master until it is done running what ever command you sent it. in this case since your command is a shell script that will loop for 50 cycles printing out what you expected. until it actually finishes that loop it will send nothing back.
salt doesn't have a mechanism to watch running jobs. you can send out find_job to minions to see if they are still running. but that is about all.
once minions finish with the task they will send the return. and your check_job will start printing stuff. but with that sleep in the loop it is going to take at least 50 seconds before anything shows up.