The verb read has two different pronunciations, its present simple form /riːd/ and its past simple form /red/. Neither tense belongs to the sample sentence
a) I read your book [at the moment]. It's fantastic. I'll finish it tonight. ❌
b) I read your book [sometime in the past] . It's fantastic. I'll finish it tonight. ❌
As Martha's answer explained, the past simple version (b) conflicts with the sentence that follows. If the activity of reading a book concluded in the past but the speaker promises to finish it at some point in the future, it does not make semantic sense.
Why doesn't version a) work? The activity of reading that book has not concluded yet. The expression “I read” refers to the present, so why is that answer wrong?
In English we have dynamic "action" verbs and "stative" verbs, a dynamic verb is an action that can occur over a limited space of time. It has a starting point and usually implies that it will end at some point in the future. We use the Present Continuous to express this duration, but we may not know how long this action will last.
For the sake of clarity, I'm going to substitute the verb "read" with its close relative, "write".
I am writing a book [at the moment]. I'll finish it soon. ✅
If the action recently concluded–the Present Perfect–we focus our attention on what this means in the present
I have written a book. You can read it now. ✅
If the action started and ended at a specified point in the past, we use the Past Simple.
I wrote and self-published a book in 2020 but nobody bought a copy. ✅
The Present Simple tense often refers to an habitual action.
Every night I write something in my diary. ✅
The present simple is also used to express the concept of something being permanent or always true.
I write short stories and poetry. ✅
He writes for a living. ✅
The present simple is not used for dynamic verbs (actions) that started at some point in the past and continue to the future. We normally use the Present Perfect Continuous to express this concept.
I write a story. It's hard work but I'll finish it on Friday. ❌
I have been writing a story. It's been hard work but I'll finish it on Friday. ✅
This is why the correct answer, in that list of options, is the first one.
I have been reading your book. It's fantastic. I'll finish it tonight. ✅