Question- If $\langle A,*\rangle$ is a semigroup with identity, prove that every element $a \in A$ has at most one inverse.
Proof- Let the identity be $e$. Let us assume that $b_1$, $b_2$ are two distinct inverses of a belonging to $A$.
Thus $a*b_1=b_1*a=e$
Also, $a*b_2=b_2*a=e$
Now, $$\begin{array}{lrcl} & b_1 & = & b_1 \\ \implies & b_1*(a*b_1) & = & b_1*(a*b_2) \\ \implies & (b_1*a)*b_1 & = & (b_1*a)*b_2 \\ \implies & e*b_1 & = & e*b_2 \\ \implies & b_1 & = & b_2 \end{array}.$$ This contradicts the assumption that $b_1$ and $b_2$ are distinct. Thus, no element can have multiple inverses. Thus, the number of inverses is at most $1$.
Please tell me if there is any flaw in reasoning, as I can find none. Further, if my statements can be made clearer, please do comment.
Your proof is valid. I'm rewriting it for formatting purposes.
Proof. Let $e$ be the identity of $A$. For an element, $a\in A$, assume $b_1,b_2$ are both inverse elements of $a$. It follows that $(a*b_1)=(b_1*a)=e$ and $(b_2*a)=(a*b_2)=e$. Thus
\begin{gather} (a*b_1)=(a*b_2) \end{gather}
By left-hand multiplication we have \begin{gather} b_1(a*b_1)=b_1(a*b_2) \end{gather}
By associativity of $A$
\begin{gather} (b_1*a)b_1=(b_1*a)b_2 \implies e*b_1=e*b_2 \implies b_1=b_2 \end{gather} Therefore the inverse of an element of $A$ is unique.