Why do we need Kleene Star when there is concatenation?
Regular expressions without Kleene star define finite languages. You can prove this by induction on the structure of the regular expression. In contrast, $a^*$ is a regular expression which defines an infinite language.
We could try to define $a^*$ using concatenation and union:
$$ a^* = \epsilon + a + a^2 + a^3 + \cdots $$
Unfortunately, the required regular expression is infinite, which we do not allow (infinite expressions do make sense in some contexts, for example in infinitary logic, but not here).