As istrasci and rintaun correctly point out, サッカー選手でもあります has similar meaning as サッカー選手です. But it is true that ある is not the same word as です. What they don't explicitly point out and is crucial is that the ある used here is not a predicate. It is comparable to the English be.
- A is a soccer player
- A is smart
In the sentences above, you can tell that the predicate is the noun/adjective phrase following be but is not be itself (in other words, be is not contributing to the meaning) from the fact that they can be used retaining their meaning, without be:
- I consider A a soccer player
- I consider A smart
On the other hand, be in the following examples are used to express existence, and is a predicate.
- I think, therefore I am
- There is a soccer player
The animacy restriction on Japanese ある and いる only concerns the predicate usage (the usage meaning existence or posession). While the following ある and いる are in the predicate usage,
the following ある is not.
- A はサッカー選手である
- 昨日のうちに買い物をしてある
Therefore, your example is a case where the animacy distinction is irrelevant.
Furthermore, as is well known, even the predicate ある can be used with animate subjects.
- 昔、ある所におじいさんとおばあさんがあった
- A には子供がある
The distinction between ある and いる is actually much more complicated than mere animacy opposition.