In a ring homomorphism we always have $f(1)=1$?
The condition $f(1)=1$ is usually included in the definition of a ring homomorphism, when the (IMHO more common) convention that rings must have units is adopted. You want to rule out mappings like $$ x\mapsto\pmatrix {x&0\cr0&0\cr} $$ from being a homomorphism from, say, the reals to 2x2 real matrices.
Similar things might otherwise also happen between mappings between commutative rings (Atiyah's context). For example, the mapping $f:x\mapsto 3x$ from $\mathbb{Z}_6$ to itself does satisfy the conditions $f(a+b)=f(a)+f(b)$ and $f(ab)=f(a)f(b)$. The latter condition follows from the congruence $3^2\equiv 3\pmod 6$.
More generally, if a commutative ring $R$ has an idempotent, i.e. an element $e$ that satisfies the relation $e^2=e$, then the mapping $x\mapsto xe$ satisfies both conditions $f(a+b)=f(a)+f(b)$ and $f(ab)=f(a)f(b)$ for all $a,b\in R$.
As you have seen there are several examples proving that the condition $f(1)=1$ does not follow from the other requirements of a ring homomorphism. Not even in the case, when $f(1)\neq0$.
Commenting a little bit as to why we (or at least Atiyah) want to rule out the mappings between rings that respect the binary operations, but don't map 1 to 1. In several parts of algebra emphasis is on modules over a ring. There it is essential that 1 acts as the identity mapping on the module. We also want to be able pull back the module structure as follows. If $M$ is an $S$-module and $f:R\rightarrow S$ is a ring homomorphism, we often want to turn $M$ into an $R$-module by the rule $r*m=f(r)m$. If we didn't know that $f(1_R)=1_S$, then we would need to worry, whether multiplication by $1_R$ is the identity mapping on $M$.
There may be several other reasons. The above is the first that occurred to me, because it really is everywhere in applications of modules. I guess it is possible to have a context, where this argument is not pressing, and then you can choose to work with a different definition.
No. The constant 0 function (which has $f(x)=0$ for all $x\in R$) is not a ring homomorphism in the usual understanding, but satisfies $f(x+y)=f(x)+f(y)$ and $f(xy)=f(x)f(y)$.
It could also be $f(1)=0$.
But looking at it from a logical point of view, a homomorphism would be a language and interpretation preserving function. In the language of unital rings we have two constants, $0,1$ and two operations $+,\cdot$. If we require that $f$ preserves the interpretation then $f(1_R)=1_S$ is an actual requirement.
Note that in such case the zero homomorphism is not a homomorphism of unital rings. You may wish to include it specifically or not. There is a good discussion on the topic here: Does $\varphi(1)=1$ if $\varphi$ is a field homomorphism?