Your DD might have some mental health issues, she might just be mean and lazy, and hasn't grown up.
If it's the former, there's little you can do at that age. If it's the latter, then you could use some of the ideas here.
firstly, she's been working a while now so her rent has to reflect her cost to the house, put it up to £80-100 a week from August, no discussion, you know she can afford it, she can move out if she doesnt like it. (I'd go for £100 as a third of her pay, but down to you).
Also say she is not to take and use your tolietaries, stop her before she says she doesnt, say you know she does and it has to stop. If she takes it again without asking first, you will ask her to leave, she's an adult now, she can buy her own, including towels/tampons, and say that while she's in your house, she will buy them and use them.
You expect her to do her fair share of housework, if she choses to not pay for bus fare (which you know she can afford - tell her that), then if she's tired that's her problem, it shouldn't be your problem and you draw up a list of housework jobs for each night, she picks one per day on the week, 2 per day per weekend day, you won't nag her, but failure to do it 3 days on the run will lead to you asking her to leave. You expect her room kept clean and sheets changed weekly on top of doing housework in the rest of the house.
Be clear, tell her she must realise you are doing her a massive favour letting her live at your home so cheaply, this is the cost to the free rent (point out the £100 will only cover her share of the bills, you aren't charing her for the room, just what she's using, that if she moves out she'll have to pay rent as well as bills).
End it by saying you'll let her think if she wants to stay living with you under the new rules, if not, you'll help her look for a flat of her own - but will not pay for it.