As soon as you write "Then by the definition of infimum", you are saying incorrect things.
First: if $b$ is the infimum of $A$, then for every $\epsilon\gt 0$ there exists at least one $a\in A$ such that $a\lt b+\epsilon$. However, you claim this holds for all elements of $A$, which is false. Take $A = (0,1)$. Then $\inf A = 0$; and it is indeed true that for every $\epsilon\gt0$ there exists at least one $a\in A$ with $a\lt\epsilon$; but if $\epsilon=\frac{1}{10}$, it is certainly false that every $a\in A$ is smaller than $\epsilon$.
Second: the elements of $A$ are not $a_n$s! They are suprema of infinite sequences of $a_n$s, and as such cannot be assumed to be $a_n$s. For example, if $a_n = 1-\frac{1}{n}$, then $A=\{1\}$, and no $a_n$ is equal to any element of $A$.
So that sentence is not just wrong, it's doubly wrong. The rest of course is now nonsense.
The second part does not seem to be proving anything; you are just asserting things. Why do the conditions imply the inequalities? What properties of the limit superior are you using? It's a mystery.
Rather: let $A_n = \mathop{\sup}\limits_{k\geq n}(a_k)$. Prove that $A_n$ is a decreasing sequence: $A_{n+1}\leq A_n$ for all $n\in \mathbb{N}$. Your set $A$ is precisely the set of $A_n$s.
Now let $b= \inf A = \inf\{ A_n\}$. By the definition of infimum, for every $\epsilon\gt 0$ there exists $N$ such that $b\leq A_N\lt b+\epsilon$. Since the sequence of $A_n$s is decreasing, then for all $n\geq N$ we have $b\leq A_n\leq A_N\lt b+\epsilon$, so in fact we have that $A_n\lt b+\epsilon$ ultimately. Moreover, since $a_n\leq A_m$ for all $n\geq m$, this implies that $a_n\lt b+\epsilon$ ultimately, as required.
For the second clause of the first part, let $\epsilon\gt 0$. Then $b-\epsilon\lt A_n$ for all $n$. Now remember what $A_n$ is. $A_n = \mathop{\sup}\limits_{k\geq n}(a_k)$; since $b-\epsilon\lt A_n$, there exists $k\geq n$ such that $b-\epsilon\lt a_k\leq A_n$. That is: for all $n$, there exists $k\geq n$ such that $a_k\gt b-\epsilon$, so $a_k\gt b-\epsilon$ frequently.
For part (2), let $b$ be a real number that satisfies the given properties. Since for every $\epsilon\gt 0$ we have that $b-\epsilon \lt a_n$ frequently, that means that $b-\epsilon$ is not an upper bound for $\{a_k\mid k\geq n\}$ for any $n$. Therefore, $\sup\{a_k\mid k\geq n\} = A_n\gt b-\epsilon$. This holds for all $A_n$, so $\liminf a_n = \inf\{A_n\mid n\in\mathbb{N}\} \geq b-\epsilon$. This holds for all $\epsilon\gt 0$, so $\liminf a_n \geq b$.
Now, since $b+\epsilon\gt a_n$ ultimately, then $b+\epsilon$ is an upper bound for $A_m$ all sufficiently large $m$; since the $A_m$ are decreasing, that means that $\inf A_m \lt b+\epsilon$, hence $\limsup a_n\lt b+\epsilon$; this holds for all $\epsilon\gt 0$, so $\limsup a_n \leq b$.
Now that we have established the inequalities (rather than merely asserting them), we have $b\leq \limsup a_n \leq b$, hence $b=\limsup a_n$, as claimed. QED
Your proof seems right, but consulting a more direct proof may help to self-test understanding, so I'll provide one below.
Since $a_n \leq b_n$ for all $n$, any upper bound on all of the $b_n$ is also an upper bound on all of the $a_n$. In particular, $\sup b_n$ is an upper bound on all of the $a_n$. By definition, $\sup a_n$ is the least upper bound on the $a_n$; setting $k = 0$, it follows that $$\sup_{ n \geq k} a_n \leq \sup_{n \geq k} b_n.$$
In other words, setting setting $A_k =\sup_{n \geq k} a_n$ and $B_k = \sup_{n \geq k} b_k$, we've shown that for $k =0$, $$A_k \leq B_k.$$
In fact, the same reasoning gives the above inequality, for all values of $k$. Taking the limit in $k$ then gives $\limsup a_n \leq \limsup b_n$, as required.
Best Answer
Review
Let $a : n \mapsto a_n$ be a bounded sequence of real numbers.
For each $m \in \mathbb{N}$, let $\mathbb{N}_m$ be the set of integers $\ge m$, and let $$A_m = \sup_{n \ge m} a_n.$$ The relation $\mathbb{N}_{m+1} \subseteq \mathbb{N}$ implies $A_{m+1} \le A_m$, and the relation $b \le a_m$ implies $b \le A_m$. This proves that the sequence $A : m \mapsto A_m$ is decreasing and bounded below. Therefore $$\lim_{m \to \infty} A_m = \inf_{m \ge 0} A_m. \tag{$*$}$$ This number is called the upper limit of the sequence $n \mapsto a_n$. It is denoted by $$\limsup_{n \to \infty} a_n, \quad \text{since}\quad \limsup_{n \to \infty} a_n = \lim_{m \to \infty} A_m = \lim_{m \to \infty} \sup_{n \ge m} a_m.$$
Theorem. $\ \ $Let $a : n \mapsto a_n$ be a bounded sequence of real numbers. Let $L \in \mathbb{R}$, and let $$M = \limsup_{n \to \infty} a_n = \inf_{m \ge 0} A_m.$$ Then $M = L$ if and only if, for every $\epsilon > 0$, the following two conditions are satisfied :
1$\ \ $ There exists $m \in \mathbb{N}$ such that $a_n < L + \epsilon$ for all $n \ge m$.
2$\ \ $ For all $m \in \mathbb{N}$ there exists $n_m \ge m$ such that $a_{n_m} > L - \epsilon$.
Remark.$\ $ Let $\epsilon > 0$ and $m \in \mathbb{N}$. There exists $n_m \ge m$ such that $a_{n_m} > L - \epsilon$ if and only if $A_m > L - \epsilon$, for then $L - \epsilon$ is not an upper bound of $a(\mathbb{N}_m)$.
Proof of Necessity.$\ $
Suppose that $M = L$. Let $\epsilon > 0$. By the definition of infimum, there exists $m \in \mathbb{N}$ such that $L + \epsilon > A_m$. This proves (1). If $m \in \mathbb{N}$, then $A_m \ge L > L - \epsilon$. This proves (2) by the remark.
Proof of Sufficiency.
Given $\epsilon > 0$, suppose that conditions (1) and (2) are satisfied. Choose $m_0 \in \mathbb{N}$ such that $a_n < L + \epsilon$ for all $n \ge m_0$. Then $A_{m_0} \le L + \epsilon$, which implies that $M \le L + \epsilon.$
Let $m \in \mathbb{N}$. Choose $n_m \ge m$ such that $a_{n_m} > L - \epsilon$. Then $A_m > L - \epsilon$, so $M \ge L - \epsilon$ by the definition of infimum. Consequently $$L - \epsilon \le M \le L + \epsilon.$$ Taking the limit as $\epsilon \to 0$ gives the result.
Note
Conditions (1) and (2) can be restated more idiomatically as follows :
1'$\ \ $ $a_n < L + \epsilon$ for all but finitely many $n$.
2'$\ \ $ $a_n > L - \epsilon$ for infinitely many $n$.
However, I prefer the original statements for working out the proof.
Comments on your attempt
Your necessity proof is correct. However, in the second part you should add that, for any $m \in \mathbb{N}$, there is $n_m \ge \max(k,m)$ such that $a_{n_m} > L - 2\epsilon$.
The sequence $n \mapsto a_n$ converges if and only if $$\liminf_{n \to \infty} a_n = \limsup_{n \to \infty} a_n,$$ in which case it converges to this common value. Your attempt at the sufficiency proof incorrectly makes this assumption.