The second above-shoulder delivery will surely be given as a no-ball in an ODI, it doesn't matter whether it is hit or not. But if the first bouncer in an over is above shoulder height and the batsman ends up hitting it... will it be called a the one legal bouncer for the over? Because in ICC matches we have seen that such deliveries are not called as a legal bouncer for the over...but just an ordinary delivery.
It's probably worth starting by noting that your understanding of the regulations is incorrect: bowlers are allowed two fast short-pitched deliveries per over in a One Day International. Quoting from the current regulations, section 42.4.1:
Law 42.6 (a) shall be replaced by the following:
a) A bowler shall be limited to two fast short-pitched deliveries per over.
(my emphasis). Perhaps you are getting confused with Twenty20 internationals where the limit is one bouncer per over?
In any case, further reading of section 42.4.1 also gives the definition of a fast short-pitched delivery:
b) A fast short-pitched delivery is defined as a ball which passes or would have passed above the shoulder height of the striker standing upright at the popping crease.
(again, my emphasis). This makes it clear that it doesn't matter if the batsman hits the ball or not - if the ball would have passed above shoulder height, it counts as one of the bouncers for the over. Exactly the same language exists in the Twenty20 regulations, for what it's worth.