Your problem is not that the session value is not set, but in your cl-who format.
(:p "Session Page 2, value:" (session-value :sv))
will not print the session value; the return value of session-value
is simply ignored.
;; try this:
(:p "Session Page 2, value:" (str (session-value :sv)))
;; or, if you need to html-escape the value,
(:p "Session Page 2, value:" (esc (session-value :sv)))