When I make union of 2 planes with bool tool, they make 3rd face which overlaps. If I use Ctrl+J they stay the same but still there is shading issue on the overlapping part. Is there a way I can remove this overlapping part automatically after applying bool tool?
Booleans are meant for volumes, not for flat objects. They generally do not work well with any overlapping geometry and as you see produce unexpected results. You should not use booleans in this situation, but join the planes some other way.
One way would be to use Knife Project to cut geometry from first to second and then from second to first, join them and merge vertices by distance to remove double geometry(vetrices and the extra face):