How can we have multiple "exact" tests? Looking over the differences between Fisher's exact test and Barnard's test, it seems I'm missing something fundamental. If both are exact tests, shouldn't both give the exact and identical value for $P(data | H_0)$, in this case $P(data | p_{r1} = p_{r2})$?

What make and exact test exact is that it uses the actual distributions of the null hypothesis (e.g. binomial or hypergeometric or multinomial distributions) rather than approximations (e.g. normal or chi-square distributions) to calculate $p$-values of the probability of seeing the observed result or another result as or more extreme.
Since they often involve discrete distributions, they usually do not have a critical region with probability exactly equal to some pre-specified significance level $\alpha$, causing some further confusion over the word exact.
Different tests have different distributions underlying the null hypothesis: the Fisher test assumes a hypergeometric distribution while Barnard's test assumes two binomial distributions.  This means that they usually calculate different $p$-values.  Some tests may also have different views of what counts as more extreme.  So different tests should not be expected to give the same results, and this is a reason why you should decide which test to use before you see the data.
