No (not) later than is an adjective phrase, based on the comparative form of the adjective late (later). It is not an idiom, but rather an example of comparison in English; we can use any adjective in this pattern:
Please give me your homework no later than tomorrow.
I will pay no more than $25 for a ticket.
Jacob is no taller than his father.
It works exactly the same as the positive version of the phrase:
We arrived later than expected.
I paid more than I wanted to.
Jacob is taller than his mother.
To review the meaning of comparison in English: (1) comparative forms of adjective are formed by adding -er to the end of the adjective, or by using the word more; and (2) the preposition than marks the object of the comparison:
This song is better / longer / faster / more famous than the other song.
If this confuses you, it is for a good reason. There are words left out of the pattern:
We arrived later than (we) expected (to arrive).
I paid more than I wanted (to pay).
Jacob is taller than his mother (is tall).
We leave out the repeated words, so it sounds better (by eliminating the redundancy).
The word than should never be confused with the word then, which means at that time, after that, or because of that:
We opened the door, then went into the room.
If you eat all that cake, then you will get sick.
Than and then cannot be interchanged. Than is used only for comparison, and then is used only for time, sequence, and implication.
“No later than” versus “Not later than”
There is no practical difference in meaning between the phrases no later than and not later than. The difference is in the scope of no versus not—a difference in the words covered by the no/not:
Please arrive no [later] than 10 pm.
Please arrive not [later than 10 pm].
As mentioned above, this makes no practical difference. In most cases, no and not are both okay; however, if the phrase is acting as an adverb (modifying the verb), then no may sound better:
Jacob is no taller/not taller than his father. (adjective, no difference)
This car goes no faster/*not faster than 50 miles per hour. (adverb, no sounds better)
It is technically okay to use not faster in the sentence above, but it sounds awkward.