Her attitude and behavior stink. And the fact that she is representing a charity make it worse, as she will give the charity / organisation a bad name, too.
In relation to the specifics:
1. Don't wait. If she not there on time (or within a reasonable time - I would probably give a lee-way of up to 5 mins) leave.
2. Say no. In the video example, after the first day I'd have been saying, "I'm sorry, I have donated a full day of my time to your charity at your request. A job of this size would normally take no more than a day, usually less. I am not in a position to donate any more of my time and resources. I would be happy to do further work on a business basis if you want. These are my rates". And if she got aggressive I would write to the director of the charity, or the organisation running it, to let them know how their representative has behaved and that she is bringing the organisation into disrepute. (and making clear that you could have done what you weer asked to do, in the time allowed, if she had not been so indecisive)
3. Don't chase. If you are doing her a favour, do it when it is convenient to you. IF she asks you to drop stuff off, it's fine to say "I can do that at 6 tonight, or at 10 tomorrow,. Which do you prefer" if those times don't work you say "I'm sorry, I won't be able to drop them off. You can pick them up from me - on (give 2 or three possible times)
In the specific case you mentioned, don't feel bad. SHE is the one letting down the people expecting these items, not you.
As you say you like her, you couls consider whether it is possible for you to say to her that while you like her a lot, and support the charity, people do expect a more porofessional approach and her behavior is not helping the charity.
WIth the lateness, if there is a genuine emergency (someone who is suicidal / has just lost a loved one etc) then she ought to be able to phone or text to tell you she's been delayed. If you speak to her, you can gently point out that by not showing up when she says, she is sendig you a message that you are unimportant, and that she has no respect for you, and places a very low value on you and your contribution, and that is hurtful and unkind (and unchristian) If she prides herself on being a caring, christian person then pointing out that she is being uncaring towards you and others may help her to understand, and, if her curent behavior is down to clulessness rather than self-centeredness may help her to change.