Liber is used when it is the thing doing the action (the nominative singular case).
Librum is used in most cases as the thing the action is being done to (the accusative singular case).
Liber legit -> 'A book reads'. compared to Librum legit -> 'He/she reads a book'.
Liber legis -> 'You, a book, read'. (Specifying you are a book, not what is read) compared to Librum legis -> 'You read a book'.
It can, but I don't know if it works well here to be translated that way. lēgis (long e vs the short e for legis ~ 'you read') is the genitive singular form of lex ('law').
librum legis I feel needs a verb to warrant librum being in the accusative. liber legis maybe could be translated as 'a book of law'.
legis can mean both you read and * the law*.
It is common for a word to have multiple meanings in many languages. Think of bow in English. It can mean (1) a weapon for archery, (2) a tied ribbon to put in your hair or (3) to bend down in respect. And in many cases it is easy to know which meaning is the right one for a sentence. But sometimes it can lead to confusion. In the sentence I bow to the king it is obvious we are talking about meaning no.3, but in the sentence I picked up my bow we could be refering to either no.1 or no.2 and we need more context to know which was meant by the author/speaker.
Back to the latin sentence librum legis . There is only one translation that makes sense, and that is you read, because you read a book is a logical sentence. Choosing the law as translation would leave you with the book the law and it's just not a sentence and is not logical at all. Therefore we know that in this case legis refers to the meaning of read and has to be translated that way.