What do you mean by much better, 95 & 94.7 is pretty close; also is this training accuracy or testing accuracy? You might want to check training loss & testing loss too, see if they are similar
Can be a lot of things; a guess could be weight initialization since you are using xavier