Its because your mesh looks like it has ngons and small faces that the Boolean cannot handle, you would be better of modelling the handle with simply primitive and add edges were you need them...............dave