"The confusion is that last birthday is an exact date in the past. On the other hand, the books are still with me now, so is it a present perfect sentence or a past sentence?"
Yes, but the verb is "gave". In context, we are talking about when he gave you the books, which was presumably at a specific time in the past. Whether or not you still have the books is not relevant to the tense of the event.
Like if someone asked when you were married, you might say, "I married Sally last August". You wouldn't say, "I have married Sally last August". The fact that you are still married has nothing to do with it.
If, in this example, your father gave you book on your 15th birthday and another on your 16th birth and another on your 17th birthday, you might say, "My father has given me these books for birthday presents", meaning that he has given them over a period of time for presents for multiple birthdays.
Likewise, changing the verb to "read" doesn't change the grammar. You could say, "I read this book on my last birthday." You read it once, on your birthday. You could say, "I have read this book since my last birthday." At some undefined time after your last birthday, you read the book. "I have been reading these books during vacations." Over an extended period of time covering many vacations.
"I have read this book after my last birthday." Hmm, it sounds very awkward to me, I think because "after" implies a specific time. If you replace "after" with "since" it works, because "since" implies an unspecified time.