You need to either repeat the expression, or derive it in a separate scope, e.g.:
SELECT name, tag, tag2 = CASE
WHEN tag = 'a' THEN 'a2'
ELSE 'b2' END AS tag2
FROM
(
SELECT name, tag = CASE
WHEN name = 'a' THEN 'a'
ELSE 'b'b' END AS tag
FROM dbo.table_name
) AS derived;