Because $stack is a scalar variable consisting of one string. The fact that it happens to look a lot like the arguments you passed to array() in the first example does not mean that it is, in fact, two separate arguments -- it's just a single string. You could use eval(), I suppose, though that's usually a last-ditch solution. You could use explode(), but then the internal quotes might be problematic.
$emails2 = explode(',', $stack);
...or (to deal with those quotes)...
$emails2 = explode("', '", trim($stack, "'"));
The "best" solution, however, probably depends on a better understanding of the situation and requirements that got you into this position in the first place.