Maybe a different argument, which implies undecidablity of of both of your problems, emptiness and finiteness, for recursive languages.
We will argue that both problems are already undecidable for context-sensitive languages. As a context-sensitive grammar always expands strings in a derivation, languages decribed by them are recursive, as for a given input word $w$ we only have to inspect all derivations up to the length of $w$.
Now, we will show that if we can decide both problems for the context-sensitive languages, we could also decide them for the recursively enumerable ones. Let $L$ be a recursively enumerable language given by a deterministic Turing machine, which, if it accepts an input, leaves it one the tape and enters a special halting state from which no further movements are allowed. Now, the transitions of the machine could be interpreted as context-sensitive rewriting rules, if everytime we delete a symbol, we do not actually delete it, but use a special symbol to indicate this, and write the new symbol aside of it. In the operational mode, we just ignore this symbol, but beside from this operate the grammar like the Turing machine.
The context-sensitive grammar works on configurations, i.e, tape content with a single symbol indicating the current state and head position in it, but enrichted with the additional symbol. The terminal symbols are this additonal symbol, the tape symbols and the unique halting state. Then, the machine accepts an empty (or finite) language if and only if the grammars generates an empty (or finite) language.
Note that for finiteness, the property that the original machine is deterministic and that once it enters the halting state, it could not operate further, is important. By this, "useless" operations like deleting a symbol and then writing it back, which would the grammar allow to derive infinite long strings with the 'deletion symbol', are not possible.