well if its a 3 month contract wont the new company wait the 30 days whilst you finish the other, thats not an unusual notice period for someone who is already in work.
moving jobs is always a hard decision, but it depends where you are and where you want to go. I'm not sure anyone can give any good advise because it depends on a lot of personal things, like how important it is that you get a long with the people at work and how important job security is, and how career driven you are. personally i would probably take the new one for security, but thats just me