I did actually have contactname set but it still didn't work. I had played around with it a bunch adding and removing things so that's why you don't see it now.
I went in to the opportunity once it was created and saw the contactname appear and disappear and when looking in action steps saw it was because the contacts field which normally contains recordid of contact was not set.
Right now I don't need any activities coming from the lead hence they are turned off. The user has to login and start something before I initiate activities.
Also when adding ContactPhone I get following error...
Phone_Step2 field should be required, since it was used in a formula for field ContactPhone_Step3
I made the phone required and still doesnt work. ContactEmail doesnt give me that error so thats odd. Anyhow I removed it and it works but still get same problem of contacts not getting set so this opportunity wont show when logged in to portal. Again if I go into this opportunity in the opportunity screen save it then it does show because contacts gets set by opportunity screen.
Basically in the web to lead, contacts field in opportunity needs to get set to record id of contact then I think it will work.