While the question you have, might sound simple, a truly exhaustive answer would have to be quite vast.
In the sentence above, you can already see how complicated this topic is, as especially the verbs 'can' and 'have' have many different functions (and even meanings).
To understand why you can't use the construction you mention, you have to understand the use of modal verbs. Such a verb expresses a modality (e.g. possibility, necessity). It is used as an auxiliary verb, meaning they modify another verb, which is written as an infinitive.
Most of these modal verbs actually have similar Germanic etymologies, and are also defective, meaning they do not have infinitives or imperatives forms (there is no 'to shall').
This immediately makes it clear why you cannot use, for example, 'shall' with 'could'.
'Have' is very complicated verb, as it has many different functions, and those have also changed throughout history. What is important, is that 'have' is not a modal verb, and rarely follows auxiliary-verb syntax.
However, it can be used as a modal auxiliary in certain constructs, most notably 'I have to ...', followed by an infinitive. So 'I have to read this book' indicates necessity/obligation, while 'I have read this book' does not (but indicates the tense).
When saying 'to have lunch', 'have' is a transitive verb, which means 'to consume lunch'. This can be modified by a modal verb perfectly fine, as in your own example sentence
'I [will] [have] [lunch] [with her tomorrow]'.
'I [modal verb] [infinitive] [object][...]'.
'Had', in 'I will had lunch' is not an infinitive, and is therefore incorrect.
To summarize: there are many combinations of a modal verb and 'to have', and even combinations were both act as a modality (I might have to read this book), but you cannot combine a modal verb with a different tense of 'have'.