Consider $2$ binary operators defined for a finite set with $n$ elements.
Operator $*$ behaves like a commutative latin quandle :
$$x*x = x$$
$$a*b=b*a$$
$$a*(b*c)=(a*b)*(a*c)$$
And forms a latin square.
Commutative operator $+$ behaves like
$$A*(B+C) =(A+B)*(A+C)$$
$$X+Y = Y+X$$
And forms a latin square.
Question :
Is $+$ neccessarily associative ?
What are examples of strict non-associative or strict associative ones if they exist ? ( strict mean always that property for every pair of elements )
The special cases where the quandle has no subquandle is perhaps interesting. ( this happens if $n$ is prime but that is not a neccessary condition , it is similar to subgroups basically )
ps: do not confuse with bi-quandles as most define them.
*** update ***
I added the restriction " and forms a latin square " for the operator $+$ which I forgot to mention.
My apologies.
Also note the number of solutions $(*,+)$ for a set with $n$ elements is a bit of a mystery for me , Im not even sure with all these restrictions given that every $n$ has such a pair of operators. Not even for sufficiently large $n$.
But that is not the main question but just related. Unless there are no solutions $(*,+)$ for $n$ or only for finitely many $n$ then it becomes very important.
Not a full answer, but for your question
The answer is not always. Although this does not exactly yield much insight, here is one of the simplest counterexamples:
Consider the case for $n=3$ with $(*, +)$ having Cayley tables
$$\begin{array} {|r|rrr|} \hline * & 0 & 1 & 2 \\ \hline 0 & 0 & 2 & 1 \\ 1 & 2 & 1 & 0 \\ 2 & 1 & 0 & 2 \\ \hline \end{array}\text{ and }\begin{array} {|r|rrr|} \hline + & 0 & 1 & 2 \\ \hline 0 & 1 & 0 & 2 \\ 1 & 0 & 2 & 1 \\ 2 & 2 & 1 & 0 \\ \hline \end{array}.$$
It is not hard to show that $(*, +)$ obey all of your given properties (including that they both form latin squares), yet $+$ is not associative (for instance, $(0+0)+1=2$ while $0+(0+1)=1$). A computational search has shown that there are exactly $3$ counterexamples for $n=3$. This was pretty much a brute force search, so I'll have to optimize by code to find anything out about $n>3$ in a reasonable amount of time.