How to remove white coating on the seashells after lemon acid and soap?
Seashells' outer layer (periostracum) mainly consists of conchiolin and polymorphic modifications of $\ce{CaCO3}$ (aragonite, calcite). To sum it up, I see two possible sources of the white coating after treating the seashells with citric acid:


Formation of calcium citrate, which has limited water solubility ($\pu{0.9 g/L}$ at $\pu{20^\circ C}$):
$$\ce{3CaCO3 + 2C6H8O7 -&gt; Ca3(C6H5O7)2 v + 3CO2 ^ + 3H2O}$$
You can try to use acetic acid instead of citric acid in order to produce calcium acetate, which is very soluble in water ($\pu{347 g/L}$ at $\pu{20^\circ C}$). I don't think you can easily dissolve calcium citrate with acetic acid because calcium is complexated by citrate, and this is a very stable formation. The problem here is that the prolonged exposure to acidic medium can further damage the outer layer as more calcite will be washed away. 
Conchiolin porous network remained after $\ce{CaCO3}$ has been eliminated with an acid might also appear white when dry and then, when the pores are filled with water, return to it's original appearance. This is rather a speculative theory, but if this is the case, you will need to perform mechanical surface polishing in order to get rid of the porous layer. This can potentially damage the seashells and should be done cautiously.