For each $sigma$ and $alpha$ let $P = W_sigma – alpha$ which is still stationary. Now for each $f^* in P$, let $g_sigma(f^*)$ be $f(n)$ where $n$ is least such that $f(n) ge alpha$. Now using pressing down lemma and the pigeonhole principle, you can find some fixed $n$ and some fixed $gamma ge alpha$ such that ${ f^* in P: f(n) = gamma}$ is stationary. Now if $nle |sigma|$, you are done. Else to fill the gap between $|sigma|$ and $n$ you can use repeated applications of the pressing down lemma, to get the desired $theta$.

EDIT: [This edit will try to complete the below answer you provided.][Disclaimer: I am using **your** notation.]

As in your answer, let $S = {f^* in P: f(m) = gamma}$ and suppose $m gt |sigma|$. By the fact that $P subseteq W_sigma$, we have $f||sigma| = sigma$, for any $f^* in S$. First we inductively choose a finite sequence of stationary sets $langle S_0, dots, S_{m-|sigma|-1}rangle$ and a finite sequence of ordinals $langle beta_0, dots, beta_{m-|sigma|-1}rangle$, such that $S_0 subseteq S$, $S_{i+1} subseteq S_i$, for $i lt m-|sigma|-1$. Also we make sure that for each $f^* in S_i$, $f(i+|sigma|) = beta_i$.

This can be done easily, using the pressing down lemma. For the base case $i = 0$, consider $g(f^*) = f(|sigma|)$ and by the pressing down lemma you have some stationary $S_0 subseteq S$ and some ordinal $beta_0$ such that $g”S_0 = {beta_0}$. At the $i$th step just look at $g(f^*) = f(i+|sigma|)$, and construct $S_i$ and $beta_i$ as above.

So we wish to build a $theta in chi^{m+1}$ that satisfies the conditions in the question. First let $theta||sigma| = sigma$ and $theta(m) = gamma$. Now for $|sigma| le i lt m$, let $theta(i) = beta_{i-|sigma|}$. Now you can see that $W_theta$ is stationary as it contains $S_{m-|sigma|-1}$. And also because of $gamma$ you have $theta not in cup_{ninomega} alpha^n$.