Trying to find two CFGs for the following languages
You can write the first language as
$$
\{ a^k b^r a^r a^k \mid k,r \geq 0 \}.
$$
The corresponding context-free grammar is exactly the one you give. If you apply $k$ times the rule $S \to aSa$ and $r$ times the rule $T \to bTa$, then you will get $a^k b^r a^r a^k$.
As for the second language, let us start with the slightly easier
$$ \{ a^n b^m \mid n \le 2m \}. $$
For each $b$ that you add, you can add up to two $a$'s. This leads to the grammar
$$ S \to Sb \mid aSb \mid aaSb \mid \epsilon. $$
In your case, you have to guarantee at least one $a$. Write this as follows:
$$
\{ a^{n+1}b^{m+1} \mid 0 \leq n \leq 2m+1 \} = 
\{ a^{n+1}b^{m+1} \mid 0 \leq n \leq 2m \} \cup
\{ a^{n+2}b^{m+1} \mid 0 \leq n \leq 2m \}.
$$
Thus you can add the following rules to the preceding grammar, making $T$ the new starting symbol:
$$
T \to aSb \mid aaSb.
$$