TL;DR: With the shiny charm, it should take you, on average, 4.8 hours to find one shiny, and approximately 20 days and 1.6 hours for 100 shinies.
I know you specified that you have the charm, but I went ahead and calculated for both with and without charm.
The shiny odds progressively increase up until a chain length of 31, where they max out. The way that the game increases the odds is by rolling multiple shiny values per spawn, and if any of those values are shiny, that's the one it keeps. The number of rerolls as the chain progresses is as follows (for both no charm and charm):
0-10: 1 or 3 rolls (full/charm odds)
11-20: 5 or 7 rolls
21-30: 9 or 11 rolls
31+: 13 or 15 rolls (this is about 1/315 without charm, and 1/273 with charm)
You could simply find the shiny odds of the chain after reaching 31, and then multiply that by how long each encounter takes. But that neglects to account for the lower odds at the beginning, so I'm doing a slightly different approach. Considering that each shiny value roll is equivalent to the odds of a full odds shiny, we simply need to find out how many encounters it takes to reach 4096 rolls, the odds, and therefore, also the average for finding a shiny. Let's start by getting the beginning out of the way:
No charm: (chain length 1-10) 10 + (chain length 11-20) 50 + (chain length 21-30) 90 = 150
With charm: (chain length 1-10) 30 + (chain length 11-20) 70 + (chain length 21-30) 110 = 210
This leaves us with 3946 rolls left to go without the charm, or 3886 with the charm. From here, we can divide this number by 13 or 15 respectively, to find out how many more encounters we would need to reach 4096 rolls, then we add 30 onto each of them to account for the beginning:
No charm: 3946/13 = 303.5 + 30 = 333.5
With charm: 3886/15 = 259 + 30 = 289
So that's a lot of work to get nearly the same numbers that we would have had if we just took the odds of a 31+ chain from the start, but hey, we're going for accuracy, here. Assuming that the chain doesn't get broken, it should take you, on average, that many encounters to get a shiny from when you first start your chain at 0. So now, we just add how long each encounter takes, which is conveniently, about a minute. This means that the final time for an individual shiny and for your full 100 shinies are as follows:
One shiny, no charm: 5.5 hours
100 shinies, no charm: 23 days and 3.8 hours
One shiny, with charm: 4.8 hours
100 shinies, with charm: 20 days and 1.6 hours
Source