These steps detail a full algorithm to figuring out which two coins are fake. Worst case, this takes $10$ comparisons.
Edit: The algorithm was fixed to account for the error noted in the comments. This didn't affect the worst case scenario.
Step 1: Split the $30$ coins into $3$ piles of $10$, which we will call $A$, $B$, and $C$. Compare $A$ and $B$. If they weigh the same, move to step $2$, else move to step $14$.
Step 2: We know that either $A$, $B$ both have a fake coin and $C$ has no fake coins, or that $C$ has two fake coins and $A$, $B$ have neither. So, split $A$ into two piles of $5$ and compare. If the piles weigh the same, move to step
$3$, else move to step $17$.
Step 3: We know that both fake coins are in a pile of $10$ coins, so split this pile into two piles of $5$, which we label $C_1$ and $C_2$. If they weigh the same, move to step $4$, else move to step $8$.
Step 4: We know both $C_1$ and $C_2$ have a fake coin. Take $2$ coins from $C_1$ and weigh against $2$ coins from $B$. If they weigh the same, move to step $5$, else move to step $6$.
Step 5: We know that the fake coin is one of $3$ coins in $X$ that weren't measured in step $4$. Take two of these coins and weigh them against each other. If they are different, move to step $6$, else we know that the unmeasured coin is the fake coin. Move to step $4$, but instead of $C_1$, apply the steps to $C_2$. Finish at step $5$ or $6$.
Step 6: We know that the fake coin is one of $2$ coins, so we weigh one of these coins against a coin from $B$. If it is the same, the unweighed coin is fake, otherwise the weighed coin is fake. After this step, we also know whether the fake coin is lighter or heavier than the normal coin. Move to step $7$.
Step 7: Split $C_2$ into piles of $2$, $2$, and $1$. Weigh the two piles of two against each other. If they are the same, we know that the unmeasured coin is the fake one. If they are different, depending on which pile is heavier, we know which pile contains the fake coin. Move to step $6$ and finish there.
Step 8: We know one of the piles of $5$ contains two fake coins, so weigh one of these piles against a pile of $5$ from $B$. If they are the same, move to step $9$, otherwise, move to step $13$.
Step 9: We know that the unweighed pile of $5$ has $2$ fakes. Split the pile into $2$, $2$, and $1$, and weigh the piles of $2$ against each other. If they are the same, move
to step $10$, else move to step $11$.
Step 10:: We know both piles of $2$ have one fake coin. For each pile, weigh one coin against a coin from $B$. If they are the same, the unmeasured coin is fake, otherwise the measured coin is fake.
Step 11: We know that one of the piles has no fakes, and one pile has either one fake coin (and the unmeasured coin is also fake) or has two fake coins. Take one of the piles of $2$ and measure it against a pile of $2$ from $B$. We now know whether the fake coins are lighter or heavier than the normal coin, and which pile of $2$ contains at least one fake. Move to step $12$
Step 12: Measure the two coins from the pile with at least one fake against each other. If they are the same, then they both are fake. Otherwise, the unmeasured coin is fake, as is the coin that coincides with whether the fake is lighter/heavier than the normal coin.
Step 13: We know that the weighed pile of $5$ has $2$ fakes, so split it into piles of $2$, $2$, and $1$, and weigh the piles of $2$ against each other. If they weigh the same, move to step $10$, else move to step $12$ (we know whether the fake is lighter/heavier than the normal coin already, so we know which pile has at least one fake).
Step 14: We know that either $A$ or $B$ has two fakes, or that one of them has $1$ fake and $C$ has one fake. Split $C$ into piles of $5$ and compare them. If they are the same, move to step $15$. Else, move to step $22$.
Step 15: We know that either $A$ or $B$ has $2$ fakes. Compare $A$ with $C$. Regardless of result, we will have a pile of $10$ coins with $2$ fakes, and we will know whether the fake coins are lighter or heavier than the normal coins. Rename $C$ to $B$. Move to step $16$.
Step 16: Split the pile of $10$ into $2$ $5$ coin piles called $C_1$, $C_2$. Compare them. If they are the same, move to step $4$. Else, we know that we have a pile of $5$ coins with $2$ fakes. Move to step $13$.
Step 17: We now have two piles of $10$, each with one fake, and one pile of $10$ with no fakes. Call the piles with fakes $A,\;C$, and the pile without a fake $B$. From the previous step, we also have $2$ sub-piles of $A$ of size $5$, which we will call $A_1$, $A_2$, such that $A_1$ is lighter than $A_2$. Compare $A_1$ with $5$ coins from $B$. Regardless of result, move to step $18$.
Step 18: We now know which sub-pile of $A$ contains a fake, and whether the fake is lighter or heavier than a normal coin. Split this sub-pile into groups of $2$, $2$, and $1$, and weigh the groups of $2$ against each other. If they are equal, we know that the unmeasured coin is the fake one in $A$. Otherwise, measure the two coins from the group with the fake coin against each other to figure out which coin is fake. Move to step $19$.
Step 19: We now focus on $C$. Split $C$ into groups of $3$, $3$, and $4$, and compare the groups of $3$. If they are equal, move to step $20$. Else, move to step $21$.
Step 20: We know that the fake coin is in the group of $4$. Take two coins from this group and compare. If they are unequal, we know which coin in $C$ is fake. If they are equal, compare the two remaining coins to see which coin is fake.
Step 21: We know which group of $3$ the fake coin is in. Take two coins from the group and compare them. If they are equal, the unmeasured coin is fake. If not, we know which of the two is fake.
Step 22: Split $A$ into two piles, and compare. This tells us whether $A$ or $B$ has the fake. Move to step $17$.