Is Acceptance by Empty stack and Final state possible in the same PDA?
The PDA can accept $a^n$ because :


Till we don't read a $b$, we stay in start state.
The start state is a final state.


By acceptance by final state, the PDA accepts strings of the form $a^n$.

For strings $a^nb^n$, we have the following :


$X^n$ is pushed on the stack, by reading $a^n$ and looping over the start state.
For the first $b$, pop the stack, and continue to pop till we get only $Z$ in the stack.
When only $Z$ remainded, we have only one choice to do, and even if it's an epsilon transition, because it's the only possible transition at this point, the automaton is still deterministic.


We have also here an acceptance by final state.

In addition, we can define both acceptance by final state and by empty stack on the same PDA, but generally, the two don't lead to the same language. For your language, acceptance by empty stack lead to an empty language, because the stack can never be empty.