I think you should stay and wait out the legal situation to have you become able to work and go to school in the US but marrying your boyfriend would help to speed that up but if he isn't quite ready then he isn't ready. I would give him some time before asking him again sometimes when you ask a man too many times they start to get gun shy about taking that step and it is a major step. I would give it another four to six months and then ask again and then make your decision from there. You don't want to throw away 8 years for something so minor as your boyfriend being afraid, he may want to wait until you are able to legally work and go to school here before making taking that major step, mentally you are both ready to marry but financially you are not this seems to be the only issue so that is what you will have to work on, there is nothing wrong with him being worry about whether you will be financially ready if you were to get married now. What is four to six months out of your life? If you do decide to leave because of his dragging his feet make sure you have given him every opportunity and time to think about the while situation before up and leaving, giving him time also means not mentioning the marriage issue for a while and then when the four to six month is up then talk to him about it again but explain to him now you moved to the US in hope of spending the rest of your life with him as man and wife not as roommates and see what he reply is.
Neither of you should have to change for the other, you have known him for eight years though on the computer it should have been clear what you both wanted before moving in with him, with that being said you have to voice your concerns to him even if he doesn't want to hear it that is important in a relationship to communicate to the other how you are feeling and what you want out of the relationship. There are ups and downs in every relationship but I think that long distance relationships and internet relationships are much harder because it's hard to get to know someone because you live so far apart and you don't see their likes and dislikes and what they are like on an everyday basis. If you do not work these issues out now then they will only get worse and now isn't a time to get married when you have so many issues to have to deal with. You are right relationships are about compromise and being able to bend a little bit and over look their faults. What you are going to have to do is honestly tell him you are not happy and things aren't as you thought they would be when you move to be with him. If he knows that you are unhappy or even thinking about leaving he may try harder but he won't know unless you tell him. If he loves you as much as you love him he will do whatever it takes to work things out and if not then it may be time for you to think about leaving but don't make any decisions until you talk to him first.