It’s not a gift for them if you are giving them props to wear for pictures. Pick something within your budget that fits their individual interests with no names/date/titles that they can keep long after the wedding is over.
Most couples give gifts at the rehearsal dinner the night before the wedding.
I disagree with the comment above about it not being considered a gift. You can also include a bridal robe and slippers if you have the budget. I got my crew really cute feather slippers on shein.com for 11 dollars each. Also, if you have a maid of honor traditionally you usually get them a little something special. I received a spa gift card when I was MOH.
I am giving my bridesmaids their gifts on our wedding day. Traditionally its the rehearsal dinner but since we are going out for drinks after I really don't want them to carry their stuff around since they are all from out of town. I will be informing them at the rehearsal dinner so they don't think I am coming empty handed.
I am giving my wedding party members their gifts at the rehearsal dinner! You can give them their gifts whenever you'd like, though if there will be other people at your bachelorette party who aren't bridesmaids, I wouldn't give out the gifts at the bachelorette party. You could give them the gifts the day of the wedding, or at the rehearsal dinner, or at a luncheon with just the bridesmaids, etc.
Whenever is fine, even the morning of while getting ready. that's when I'll give my girls their little boxes. I got a bracelet in a wedding I was a BM in and she gave it to us that day. I was so happy I put the bracelet on and it looked amazing.