The author gets tantalizingly close to the answer when he notes that 10 pieces cost $1.49 at Burger King, which is significantly cheaper per nugget than 20 pieces at McDonald's.
The reason 20 pieces cost the same as 10 pieces is to make the customer think they're getting a deal, which will lead them to gravitate toward that item over other items on the menu that are actually lower margin for McDonald's.
That people still buy the 10 piece item at McDonald's is just an example of the fact that though firms are rational, individuals are idiots.