About a particular use of hashing
For your first question, the vector $b$ is necessary to make sure $\text{Pr}_{A,b}[\vec{a_1} x^{T} + b_1 = y] = 1/2$, for $k = 1$.

Otherwise, it is easy to see that $\text{Pr}_{A,b}[\vec{a_1} x^{T} = 0] = 3/4$ and $\text{Pr}_{A,b}[\vec{a_1} x^{T} = 1] = 1/4$, for $n=1$. By conditional probability and the law of total probability, we can get $\text{Pr}_{A,b}[\vec{a_1} x^{T} = 0] = 5/8$ and $\text{Pr}_{A,b}[\vec{a_1} x^{T} = 1] = 3/8$, for $n=2$. This approach can be generalized to arbitrary $n$.