Same Conditionals Not Working on Two Different Hooks

init is too early for conditional tags, use template_redirect instead. have a look at the action reference to see the order they’re executed.